< prev index next >

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

Print this page

274         PATTERN_MATCHING_IN_INSTANCEOF(JDK16, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL),
275         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
276         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
277         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
278         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
279         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
280         REDUNDANT_STRICTFP(JDK17),
281         TYPE_ANNOTATIONS_ON_VAR_LAMBDA_PARAMETER(MIN, JDK19),
282         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
283         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
284         IMPLICIT_CLASSES(JDK25, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
285         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
286         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
287         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
288         FLEXIBLE_CONSTRUCTORS(JDK25, Fragments.FeatureFlexibleConstructors, DiagKind.NORMAL),
289         MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
290         JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
291         PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
292         ERASE_POLY_SIG_RETURN_TYPE(JDK24),
293         CAPTURE_MREF_RETURN_TYPE(JDK26),

294         ;
295 
296         enum DiagKind {
297             NORMAL,
298             PLURAL;
299         }
300 
301         private final Source minLevel;
302         private final Source maxLevel;
303         private final Fragment optFragment;
304         private final DiagKind optKind;
305 
306         Feature(Source minLevel) {
307             this(minLevel, null, null);
308         }
309 
310         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
311             this(minLevel, MAX, optFragment, optKind);
312         }
313 

274         PATTERN_MATCHING_IN_INSTANCEOF(JDK16, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL),
275         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
276         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
277         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
278         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
279         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
280         REDUNDANT_STRICTFP(JDK17),
281         TYPE_ANNOTATIONS_ON_VAR_LAMBDA_PARAMETER(MIN, JDK19),
282         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
283         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
284         IMPLICIT_CLASSES(JDK25, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
285         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
286         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
287         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
288         FLEXIBLE_CONSTRUCTORS(JDK25, Fragments.FeatureFlexibleConstructors, DiagKind.NORMAL),
289         MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
290         JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
291         PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
292         ERASE_POLY_SIG_RETURN_TYPE(JDK24),
293         CAPTURE_MREF_RETURN_TYPE(JDK26),
294         REFLECT_METHODS(JDK22, Fragments.FeatureReflectMethods, DiagKind.NORMAL),
295         ;
296 
297         enum DiagKind {
298             NORMAL,
299             PLURAL;
300         }
301 
302         private final Source minLevel;
303         private final Source maxLevel;
304         private final Fragment optFragment;
305         private final DiagKind optKind;
306 
307         Feature(Source minLevel) {
308             this(minLevel, null, null);
309         }
310 
311         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
312             this(minLevel, MAX, optFragment, optKind);
313         }
314 
< prev index next >