--- old/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java 2019-12-02 22:13:25.636111999 -0800 +++ new/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java 2019-12-02 22:13:25.472029999 -0800 @@ -96,7 +96,12 @@ /** * 14, switch expressions */ - JDK14("14"); + JDK14("14"), + + /** + * 15, tbd + */ + JDK15("15"); private static final Context.Key sourceKey = new Context.Key<>(); @@ -147,6 +152,7 @@ } public Target requiredTarget() { + if (this.compareTo(JDK15) >= 0) return Target.JDK1_15; if (this.compareTo(JDK14) >= 0) return Target.JDK1_14; if (this.compareTo(JDK13) >= 0) return Target.JDK1_13; if (this.compareTo(JDK12) >= 0) return Target.JDK1_12; @@ -198,9 +204,9 @@ SWITCH_MULTIPLE_CASE_LABELS(JDK14, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL), SWITCH_RULE(JDK14, Fragments.FeatureSwitchRules, DiagKind.PLURAL), SWITCH_EXPRESSION(JDK14, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL), - TEXT_BLOCKS(JDK14, Fragments.FeatureTextBlocks, DiagKind.PLURAL), - PATTERN_MATCHING_IN_INSTANCEOF(JDK14, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL), - REIFIABLE_TYPES_INSTANCEOF(JDK14, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL), + TEXT_BLOCKS(JDK15, Fragments.FeatureTextBlocks, DiagKind.PLURAL), + PATTERN_MATCHING_IN_INSTANCEOF(JDK15, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL), + REIFIABLE_TYPES_INSTANCEOF(JDK15, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL), ; enum DiagKind { @@ -290,6 +296,8 @@ return RELEASE_13; case JDK14: return RELEASE_14; + case JDK15: + return RELEASE_15; default: return null; }