--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java Thu Oct 17 20:27:44 2019 +0100
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java Thu Oct 17 20:53:35 2019 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -84,11 +84,20 @@
/** 1.11 local-variable syntax for lambda parameters */
JDK11("11"),
- /** 12 covers the to be determined language features that will be added in JDK 12. */
+ /** 12, no language features; switch expression were in preview */
JDK12("12"),
- /** 13 covers the to be determined language features that will be added in JDK 13. */
- JDK13("13");
+ /**
+ * 13, no language features; text blocks and revised switch
+ * expressions in preview
+ */
+ JDK13("13"),
+
+ /**
+ * 14 covers the to be determined language features that will be
+ * added in JDK 14.
+ */
+ JDK14("14");
private static final Context.Key<Source> sourceKey = new Context.Key<>();
@@ -139,6 +148,7 @@
}
public Target requiredTarget() {
+ if (this.compareTo(JDK14) >= 0) return Target.JDK1_14;
if (this.compareTo(JDK13) >= 0) return Target.JDK1_13;
if (this.compareTo(JDK12) >= 0) return Target.JDK1_12;
if (this.compareTo(JDK11) >= 0) return Target.JDK1_11;
@@ -186,9 +196,10 @@
LOCAL_VARIABLE_TYPE_INFERENCE(JDK10),
VAR_SYNTAX_IMPLICIT_LAMBDAS(JDK11, Fragments.FeatureVarSyntaxInImplicitLambda, DiagKind.PLURAL),
IMPORT_ON_DEMAND_OBSERVABLE_PACKAGES(JDK1_2, JDK8),
- SWITCH_MULTIPLE_CASE_LABELS(JDK13, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL),
- SWITCH_RULE(JDK13, Fragments.FeatureSwitchRules, DiagKind.PLURAL),
- SWITCH_EXPRESSION(JDK13, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL);
+ SWITCH_MULTIPLE_CASE_LABELS(JDK14, Fragments.FeatureMultipleCaseLabels, DiagKind.PLURAL),
+ SWITCH_RULE(JDK14, Fragments.FeatureSwitchRules, DiagKind.PLURAL),
+ SWITCH_EXPRESSION(JDK14, Fragments.FeatureSwitchExpressions, DiagKind.PLURAL),
+ TEXT_BLOCKS(JDK14, Fragments.FeatureTextBlocks, DiagKind.PLURAL);
enum DiagKind {
NORMAL,
@@ -275,6 +286,8 @@
return RELEASE_12;
case JDK13:
return RELEASE_13;
+ case JDK14:
+ return RELEASE_14;
default:
return null;
}