You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/classinitialization/ClassInitializationConfiguration.java
+38-6Lines changed: 38 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,7 @@
35
35
importorg.graalvm.collections.Pair;
36
36
37
37
importcom.oracle.svm.core.util.UserError;
38
+
importcom.oracle.svm.core.util.VMError;
38
39
39
40
/**
40
41
* Maintains user and system configuration for class initialization in Native Image.
@@ -52,12 +53,47 @@
52
53
*
53
54
* Every node tracks a list of reasons for the set configuration. This list helps the users debug
54
55
* conflicts in the configuration.
56
+
*
57
+
* A {@code strict} configuration, as specified by {@link InitializationNode#strict}, defines
58
+
* whether an initialization kind, as specified by {@link InitializationNode#kind}, was explicitly
59
+
* configured for the corresponding type. A {@code non-strict} configuration is a configuration
VMError.guarantee(node.children.containsKey(nextQualifier), "Expected that initialization node for %s already contains a child for %s.", qualifiedName(node), nextQualifier);
Copy file name to clipboardExpand all lines: substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/classinitialization/ClassInitializationSupport.java
VMError.guarantee(initKind == InitKind.BUILD_TIME, "Initialization of %s failed so all interfaces with default methods must be already initialized.", iface.getTypeName());
395
445
classInitKinds.put(iface, InitKind.BUILD_TIME);
396
446
}
397
447
forceInitializeInterfaces(iface.getInterfaces(), "super type of " + iface.getTypeName());
0 commit comments