--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Thu Apr 12 09:23:34 2018 +0200
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Thu Apr 12 13:55:20 2018 +0100
@@ -49,7 +49,6 @@
import com.sun.tools.javac.jvm.Pool.Method;
import com.sun.tools.javac.jvm.Pool.MethodHandle;
import com.sun.tools.javac.jvm.Pool.Variable;
-import com.sun.tools.javac.main.Option;
import com.sun.tools.javac.util.*;
import static com.sun.tools.javac.code.Flags.*;
@@ -89,6 +88,10 @@
*/
private boolean debugstackmap;
+ /** Preview language level.
+ */
+ private Preview preview;
+
/**
* Target class version.
*/
@@ -178,6 +181,7 @@
log = Log.instance(context);
names = Names.instance(context);
options = Options.instance(context);
+ preview = Preview.instance(context);
target = Target.instance(context);
source = Source.instance(context);
types = Types.instance(context);
@@ -1819,7 +1823,11 @@
acount += writeExtraClassAttributes(c);
poolbuf.appendInt(JAVA_MAGIC);
- poolbuf.appendChar(target.minorVersion);
+ if (preview.isEnabled()) {
+ poolbuf.appendChar(ClassFile.PREVIEW_MINOR_VERSION);
+ } else {
+ poolbuf.appendChar(target.minorVersion);
+ }
poolbuf.appendChar(target.majorVersion);
writePool(c.pool);