< prev index next >

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

Print this page




 182         STRICT_METHOD_CLASH_CHECK(JDK8),
 183         EFFECTIVELY_FINAL_IN_INNER_CLASSES(JDK8),
 184         TYPE_ANNOTATIONS(JDK8, Fragments.FeatureTypeAnnotations, DiagKind.PLURAL),
 185         ANNOTATIONS_AFTER_TYPE_PARAMS(JDK8, Fragments.FeatureAnnotationsAfterTypeParams, DiagKind.PLURAL),
 186         REPEATED_ANNOTATIONS(JDK8, Fragments.FeatureRepeatableAnnotations, DiagKind.PLURAL),
 187         INTERSECTION_TYPES_IN_CAST(JDK8, Fragments.FeatureIntersectionTypesInCast, DiagKind.PLURAL),
 188         GRAPH_INFERENCE(JDK8),
 189         FUNCTIONAL_INTERFACE_MOST_SPECIFIC(JDK8),
 190         POST_APPLICABILITY_VARARGS_ACCESS_CHECK(JDK8),
 191         MAP_CAPTURES_TO_BOUNDS(MIN, JDK7),
 192         PRIVATE_SAFE_VARARGS(JDK9),
 193         DIAMOND_WITH_ANONYMOUS_CLASS_CREATION(JDK9, Fragments.FeatureDiamondAndAnonClass, DiagKind.NORMAL),
 194         UNDERSCORE_IDENTIFIER(MIN, JDK8),
 195         PRIVATE_INTERFACE_METHODS(JDK9, Fragments.FeaturePrivateIntfMethods, DiagKind.PLURAL),
 196         LOCAL_VARIABLE_TYPE_INFERENCE(JDK10),
 197         VAR_SYNTAX_IMPLICIT_LAMBDAS(JDK11, Fragments.FeatureVarSyntaxInImplicitLambda, DiagKind.PLURAL),
 198         IMPORT_ON_DEMAND_OBSERVABLE_PACKAGES(JDK1_2, JDK8),
 199         SWITCH_MULTIPLE_CASE_LABELS(JDK14, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL),
 200         SWITCH_RULE(JDK14, Fragments.FeatureSwitchRules, DiagKind.PLURAL),
 201         SWITCH_EXPRESSION(JDK14, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL),
 202         TEXT_BLOCKS(JDK14, Fragments.FeatureTextBlocks, DiagKind.PLURAL);


 203 
 204         enum DiagKind {
 205             NORMAL,
 206             PLURAL;
 207         }
 208 
 209         private final Source minLevel;
 210         private final Source maxLevel;
 211         private final Fragment optFragment;
 212         private final DiagKind optKind;
 213 
 214         Feature(Source minLevel) {
 215             this(minLevel, null, null);
 216         }
 217 
 218         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
 219             this(minLevel, MAX, optFragment, optKind);
 220         }
 221 
 222         Feature(Source minLevel, Source maxLevel) {




 182         STRICT_METHOD_CLASH_CHECK(JDK8),
 183         EFFECTIVELY_FINAL_IN_INNER_CLASSES(JDK8),
 184         TYPE_ANNOTATIONS(JDK8, Fragments.FeatureTypeAnnotations, DiagKind.PLURAL),
 185         ANNOTATIONS_AFTER_TYPE_PARAMS(JDK8, Fragments.FeatureAnnotationsAfterTypeParams, DiagKind.PLURAL),
 186         REPEATED_ANNOTATIONS(JDK8, Fragments.FeatureRepeatableAnnotations, DiagKind.PLURAL),
 187         INTERSECTION_TYPES_IN_CAST(JDK8, Fragments.FeatureIntersectionTypesInCast, DiagKind.PLURAL),
 188         GRAPH_INFERENCE(JDK8),
 189         FUNCTIONAL_INTERFACE_MOST_SPECIFIC(JDK8),
 190         POST_APPLICABILITY_VARARGS_ACCESS_CHECK(JDK8),
 191         MAP_CAPTURES_TO_BOUNDS(MIN, JDK7),
 192         PRIVATE_SAFE_VARARGS(JDK9),
 193         DIAMOND_WITH_ANONYMOUS_CLASS_CREATION(JDK9, Fragments.FeatureDiamondAndAnonClass, DiagKind.NORMAL),
 194         UNDERSCORE_IDENTIFIER(MIN, JDK8),
 195         PRIVATE_INTERFACE_METHODS(JDK9, Fragments.FeaturePrivateIntfMethods, DiagKind.PLURAL),
 196         LOCAL_VARIABLE_TYPE_INFERENCE(JDK10),
 197         VAR_SYNTAX_IMPLICIT_LAMBDAS(JDK11, Fragments.FeatureVarSyntaxInImplicitLambda, DiagKind.PLURAL),
 198         IMPORT_ON_DEMAND_OBSERVABLE_PACKAGES(JDK1_2, JDK8),
 199         SWITCH_MULTIPLE_CASE_LABELS(JDK14, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL),
 200         SWITCH_RULE(JDK14, Fragments.FeatureSwitchRules, DiagKind.PLURAL),
 201         SWITCH_EXPRESSION(JDK14, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL),
 202         TEXT_BLOCKS(JDK14, Fragments.FeatureTextBlocks, DiagKind.PLURAL),
 203         SEALED(JDK14, Fragments.FeatureSealedTypes, DiagKind.PLURAL),
 204         RECORDS(JDK14);
 205 
 206         enum DiagKind {
 207             NORMAL,
 208             PLURAL;
 209         }
 210 
 211         private final Source minLevel;
 212         private final Source maxLevel;
 213         private final Fragment optFragment;
 214         private final DiagKind optKind;
 215 
 216         Feature(Source minLevel) {
 217             this(minLevel, null, null);
 218         }
 219 
 220         Feature(Source minLevel, Fragment optFragment, DiagKind optKind) {
 221             this(minLevel, MAX, optFragment, optKind);
 222         }
 223 
 224         Feature(Source minLevel, Source maxLevel) {


< prev index next >