< prev index next > src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java
Print this page
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 JDK28 -> Target.JDK1_28;
case JDK27 -> Target.JDK1_27;
case JDK26 -> Target.JDK1_26;
MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
ERASE_POLY_SIG_RETURN_TYPE(JDK24),
CAPTURE_MREF_RETURN_TYPE(JDK26),
+ VALUE_CLASSES(DEFAULT, Fragments.FeatureValueClasses, DiagKind.PLURAL),
;
enum DiagKind {
NORMAL,
PLURAL;
< prev index next >