< prev index next >

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

Print this page

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

274         ;
275 
276         enum DiagKind {
277             NORMAL,
278             PLURAL;
279         }
280 
281         private final Source minLevel;
282         private final Source maxLevel;
283         private final Fragment optFragment;
284         private final DiagKind optKind;
285 
286         Feature(Source minLevel) {
287             this(minLevel, null, null);
288         }
289 
290         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
291             this(minLevel, MAX, optFragment, optKind);
292         }
293 

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