< prev index next >

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

Print this page

260         NO_TARGET_ANNOTATION_APPLICABILITY(JDK14),
261         TEXT_BLOCKS(JDK15, Fragments.FeatureTextBlocks, DiagKind.PLURAL),
262         PATTERN_MATCHING_IN_INSTANCEOF(JDK16, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL),
263         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
264         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
265         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
266         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
267         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
268         REDUNDANT_STRICTFP(JDK17),
269         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
270         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
271         IMPLICIT_CLASSES(JDK25, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
272         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
273         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
274         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
275         FLEXIBLE_CONSTRUCTORS(JDK25, Fragments.FeatureFlexibleConstructors, DiagKind.NORMAL),
276         MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
277         JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
278         PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
279         ERASE_POLY_SIG_RETURN_TYPE(JDK24),

280         ;
281 
282         enum DiagKind {
283             NORMAL,
284             PLURAL;
285         }
286 
287         private final Source minLevel;
288         private final Source maxLevel;
289         private final Fragment optFragment;
290         private final DiagKind optKind;
291 
292         Feature(Source minLevel) {
293             this(minLevel, null, null);
294         }
295 
296         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
297             this(minLevel, MAX, optFragment, optKind);
298         }
299 

260         NO_TARGET_ANNOTATION_APPLICABILITY(JDK14),
261         TEXT_BLOCKS(JDK15, Fragments.FeatureTextBlocks, DiagKind.PLURAL),
262         PATTERN_MATCHING_IN_INSTANCEOF(JDK16, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL),
263         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
264         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
265         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
266         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
267         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
268         REDUNDANT_STRICTFP(JDK17),
269         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
270         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
271         IMPLICIT_CLASSES(JDK25, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
272         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
273         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
274         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
275         FLEXIBLE_CONSTRUCTORS(JDK25, Fragments.FeatureFlexibleConstructors, DiagKind.NORMAL),
276         MODULE_IMPORTS(JDK25, Fragments.FeatureModuleImports, DiagKind.PLURAL),
277         JAVA_BASE_TRANSITIVE(JDK25, Fragments.FeatureJavaBaseTransitive, DiagKind.PLURAL),
278         PRIVATE_MEMBERS_IN_PERMITS_CLAUSE(JDK19),
279         ERASE_POLY_SIG_RETURN_TYPE(JDK24),
280         REFLECT_METHODS(JDK22, Fragments.FeatureReflectMethods, DiagKind.NORMAL),
281         ;
282 
283         enum DiagKind {
284             NORMAL,
285             PLURAL;
286         }
287 
288         private final Source minLevel;
289         private final Source maxLevel;
290         private final Fragment optFragment;
291         private final DiagKind optKind;
292 
293         Feature(Source minLevel) {
294             this(minLevel, null, null);
295         }
296 
297         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
298             this(minLevel, MAX, optFragment, optKind);
299         }
300 
< prev index next >