< prev index next >

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

Print this page

238         IMPORT_ON_DEMAND_OBSERVABLE_PACKAGES(JDK1_2, JDK8),
239         SWITCH_MULTIPLE_CASE_LABELS(JDK14, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL),
240         SWITCH_RULE(JDK14, Fragments.FeatureSwitchRules, DiagKind.PLURAL),
241         SWITCH_EXPRESSION(JDK14, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL),
242         NO_TARGET_ANNOTATION_APPLICABILITY(JDK14),
243         TEXT_BLOCKS(JDK15, Fragments.FeatureTextBlocks, DiagKind.PLURAL),
244         PATTERN_MATCHING_IN_INSTANCEOF(JDK16, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL),
245         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
246         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
247         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
248         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
249         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
250         REDUNDANT_STRICTFP(JDK17),
251         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
252         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
253         IMPLICIT_CLASSES(JDK21, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
254         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
255         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
256         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
257         SUPER_INIT(JDK22, Fragments.FeatureSuperInit, DiagKind.NORMAL),

258         ;
259 
260         enum DiagKind {
261             NORMAL,
262             PLURAL;
263         }
264 
265         private final Source minLevel;
266         private final Source maxLevel;
267         private final Fragment optFragment;
268         private final DiagKind optKind;
269 
270         Feature(Source minLevel) {
271             this(minLevel, null, null);
272         }
273 
274         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
275             this(minLevel, MAX, optFragment, optKind);
276         }
277 

238         IMPORT_ON_DEMAND_OBSERVABLE_PACKAGES(JDK1_2, JDK8),
239         SWITCH_MULTIPLE_CASE_LABELS(JDK14, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL),
240         SWITCH_RULE(JDK14, Fragments.FeatureSwitchRules, DiagKind.PLURAL),
241         SWITCH_EXPRESSION(JDK14, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL),
242         NO_TARGET_ANNOTATION_APPLICABILITY(JDK14),
243         TEXT_BLOCKS(JDK15, Fragments.FeatureTextBlocks, DiagKind.PLURAL),
244         PATTERN_MATCHING_IN_INSTANCEOF(JDK16, Fragments.FeaturePatternMatchingInstanceof, DiagKind.NORMAL),
245         REIFIABLE_TYPES_INSTANCEOF(JDK16, Fragments.FeatureReifiableTypesInstanceof, DiagKind.PLURAL),
246         RECORDS(JDK16, Fragments.FeatureRecords, DiagKind.PLURAL),
247         SEALED_CLASSES(JDK17, Fragments.FeatureSealedClasses, DiagKind.PLURAL),
248         CASE_NULL(JDK21, Fragments.FeatureCaseNull, DiagKind.NORMAL),
249         PATTERN_SWITCH(JDK21, Fragments.FeaturePatternSwitch, DiagKind.PLURAL),
250         REDUNDANT_STRICTFP(JDK17),
251         UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL),
252         RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL),
253         IMPLICIT_CLASSES(JDK21, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
254         WARN_ON_ILLEGAL_UTF8(MIN, JDK21),
255         UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL),
256         PRIMITIVE_PATTERNS(JDK23, Fragments.FeaturePrimitivePatterns, DiagKind.PLURAL),
257         SUPER_INIT(JDK22, Fragments.FeatureSuperInit, DiagKind.NORMAL),
258         REFLECT_METHODS(JDK22, Fragments.FeatureReflectMethods, DiagKind.NORMAL),
259         ;
260 
261         enum DiagKind {
262             NORMAL,
263             PLURAL;
264         }
265 
266         private final Source minLevel;
267         private final Source maxLevel;
268         private final Fragment optFragment;
269         private final DiagKind optKind;
270 
271         Feature(Source minLevel) {
272             this(minLevel, null, null);
273         }
274 
275         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
276             this(minLevel, MAX, optFragment, optKind);
277         }
278 
< prev index next >