< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java

Print this page
*** 191,10 ***
--- 191,23 ---
  
      public boolean isSupported() {
          return this.compareTo(MIN) >= 0;
      }
  
+     public static boolean isSupported(Feature feature, int majorVersion) {
+         Source source = null;
+         for (Target target : Target.values()) {
+             if (majorVersion == target.majorVersion) {
+                 source = lookup(target.name);
+             }
+         }
+         if (source != null) {
+             return feature.allowedInSource(source);
+         }
+         return false;
+     }
+ 
      public Target requiredTarget() {
          return switch(this) {
          case JDK23  -> Target.JDK1_23;
          case JDK22  -> Target.JDK1_22;
          case JDK21  -> Target.JDK1_21;

*** 254,10 ***
--- 267,11 ---
          IMPLICIT_CLASSES(JDK21, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
          WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
          UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
          PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
          SUPER_INIT(JDK22, Fragments.FeatureSuperInit, DiagKind.NORMAL),
+         VALUE_CLASSES(JDK22, Fragments.FeatureValueClasses, DiagKind.PLURAL),
          ;
  
          enum DiagKind {
              NORMAL,
              PLURAL;
< prev index next >