< prev index next >

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

Print this page

288         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
289         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
290         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
291         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
292         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
293         REDUNDANT_STRICTFP(JDK17),
294         TYPE_ANNOTATIONS_ON_VAR_LAMBDA_PARAMETER(MIN, JDK19),
295         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
296         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
297         IMPLICIT_CLASSES(JDK25, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
298         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
299         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
300         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
301         FLEXIBLE_CONSTRUCTORS(JDK25, Fragments.FeatureFlexibleConstructors, DiagKind.NORMAL),
302         MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
303         JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
304         PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
305         ERASE_POLY_SIG_RETURN_TYPE(JDK24),
306         CAPTURE_MREF_RETURN_TYPE(JDK26),
307         VALUE_CLASSES(DEFAULT, Fragments.FeatureValueClasses, DiagKind.PLURAL),

308         ;
309 
310         enum DiagKind {
311             NORMAL,
312             PLURAL;
313         }
314 
315         private final Source minLevel;
316         private final Source maxLevel;
317         private final Fragment optFragment;
318         private final DiagKind optKind;
319 
320         Feature(Source minLevel) {
321             this(minLevel, null, null);
322         }
323 
324         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
325             this(minLevel, MAX, optFragment, optKind);
326         }
327 

288         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
289         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
290         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
291         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
292         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
293         REDUNDANT_STRICTFP(JDK17),
294         TYPE_ANNOTATIONS_ON_VAR_LAMBDA_PARAMETER(MIN, JDK19),
295         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
296         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
297         IMPLICIT_CLASSES(JDK25, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
298         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
299         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
300         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
301         FLEXIBLE_CONSTRUCTORS(JDK25, Fragments.FeatureFlexibleConstructors, DiagKind.NORMAL),
302         MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
303         JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
304         PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
305         ERASE_POLY_SIG_RETURN_TYPE(JDK24),
306         CAPTURE_MREF_RETURN_TYPE(JDK26),
307         VALUE_CLASSES(DEFAULT, Fragments.FeatureValueClasses, DiagKind.PLURAL),
308         REFLECT_METHODS(DEFAULT, Fragments.FeatureReflectMethods, DiagKind.NORMAL),
309         ;
310 
311         enum DiagKind {
312             NORMAL,
313             PLURAL;
314         }
315 
316         private final Source minLevel;
317         private final Source maxLevel;
318         private final Fragment optFragment;
319         private final DiagKind optKind;
320 
321         Feature(Source minLevel) {
322             this(minLevel, null, null);
323         }
324 
325         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
326             this(minLevel, MAX, optFragment, optKind);
327         }
328 
< prev index next >