< prev index next >
langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java
Print this page
@@ -152,10 +152,11 @@
public final ClassSymbol methodClass;
/** A symbol for the java.base module.
*/
public final ModuleSymbol java_base;
+ public final ModuleSymbol jdk_incubator_mvt;
/** Predefined types.
*/
public final Type objectType;
public final Type valueClassType;
@@ -527,12 +528,17 @@
if (source.allowModules()) {
java_base = enterModule(names.java_base);
//avoid completing java.base during the Symtab initialization
java_base.completer = Completer.NULL_COMPLETER;
java_base.visiblePackages = Collections.emptyMap();
+
+ jdk_incubator_mvt = enterModule(names.fromString("jdk.incubator.mvt"));
+ jdk_incubator_mvt.completer = Completer.NULL_COMPLETER;
+ jdk_incubator_mvt.visiblePackages = Collections.emptyMap();
} else {
java_base = noModule;
+ jdk_incubator_mvt = noModule;
}
// Get the initial completer for ModuleSymbols from Modules
moduleCompleter = Modules.instance(context).getCompleter();
@@ -598,11 +604,13 @@
trustMeType = enterClass("java.lang.SafeVarargs");
nativeHeaderType = enterClass("java.lang.annotation.Native");
lambdaMetafactory = enterClass("java.lang.invoke.LambdaMetafactory");
stringConcatFactory = enterClass("java.lang.invoke.StringConcatFactory");
functionalInterfaceType = enterClass("java.lang.FunctionalInterface");
- valueCapableClass = enterClass("jvm.internal.value.ValueCapableClass");
+
+ Name vccName = names.fromString("jdk.incubator.mvt.ValueCapableClass");
+ valueCapableClass = enterClass(jdk_incubator_mvt, vccName).type;
synthesizeEmptyInterfaceIfMissing(autoCloseableType);
synthesizeEmptyInterfaceIfMissing(cloneableType);
synthesizeEmptyInterfaceIfMissing(serializableType);
synthesizeEmptyInterfaceIfMissing(lambdaMetafactory);
@@ -644,12 +652,14 @@
new MethodType(List.nil(), objectType,
List.nil(), methodClass),
arrayClass);
arrayClass.members().enter(arrayCloneMethod);
- if (java_base != noModule)
+ if (java_base != noModule) {
java_base.completer = moduleCompleter::complete; //bootstrap issues
+ jdk_incubator_mvt.completer = moduleCompleter::complete; //bootstrap issues
+ }
}
/** Define a new class given its name and owner.
*/
< prev index next >