Uploaded image for project: 'Product Roadmaps'
  1. Product Roadmaps
  2. MMF-2315

Support of Java features versions 9 to 15


    • Type: MMF
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Labels:



      In the past, we made sure to support the new versions of Java as soon as they were available by correctly parsing the new language features. We want to go one step further and come up with enhanced support of modern Java features, by making sure existing rules support correctly the new features and adding a set of new rules anticipating misusage and educating users about the best practices.
      We will then keep providing new value as users upgrade their Java versions and be sure they are bringing us with them in their upgrade journey.


      In this MMF, we will target new features added in Java versions 9 to 15. A first set of rules and improvements has already been implemented in the different MMFs adding the support of these new versions, we want to extend this list to add:


      Version Topic
      Java 9 Support List.of(), Set.of(), Map.of(), Map.ofEntries() in existing rules
        Extend S4738 to suggest "List.of", "Map.of" and Set.of instead of Guava
      Java 10 One new rule for Local-Variable Type Inference (var)
      Java 11 "String.isBlank()" support in S5838
        Fix FP in S1943 related to new API of FileWriter and FileReader 
      Java 14 Two new rules for Switch expression
        Extend existing rules to support Switch Expression
        FP in S1199 related to Switch arrow label
      Java 15 One Rule for Text Blocks
        Support Text Blocks in existing rules
        Support "string.formatted()" in existing rules
      All One rule for Restricted Identifiers
        One rule for 'instanceof' instead of 'A.class.isInstance'


      All the necessary prerequisite has been implemented while adding the support of new versions, we can start to improve existing rules and add new ones right away.


          Issue Links



              • Assignee:
                richard.mathis Richard Mathis
                richard.mathis Richard Mathis
              • Votes:
                0 Vote for this issue
                1 Start watching this issue


                • Created: