mirror of
https://github.com/enso-org/enso.git
synced 2024-09-11 13:15:52 +03:00
Importing (some of) Standard.Base works from NI runner (#9866)
This commit is contained in:
parent
a5ca9f9ac2
commit
5c06535c46
7
.vscode/launch.json
vendored
7
.vscode/launch.json
vendored
@ -27,6 +27,13 @@
|
||||
"command": "npm run dev",
|
||||
// "env": {"NODE_OPTIONS": "--inspect"},
|
||||
"cwd": "${workspaceFolder}/app/gui2"
|
||||
},
|
||||
{
|
||||
"type": "nativeimage",
|
||||
"request": "launch",
|
||||
"name": "Launch Native Image",
|
||||
"nativeImagePath": "${workspaceFolder}/runner",
|
||||
"args": "--help"
|
||||
}
|
||||
]
|
||||
}
|
103
build.sbt
103
build.sbt
@ -18,6 +18,7 @@ import src.main.scala.licenses.{
|
||||
import JPMSPlugin.autoImport._
|
||||
|
||||
import java.io.File
|
||||
import java.nio.file.Paths
|
||||
|
||||
// ============================================================================
|
||||
// === Global Configuration ===================================================
|
||||
@ -283,6 +284,7 @@ lazy val enso = (project in file("."))
|
||||
`syntax-definition`,
|
||||
`syntax-rust-definition`,
|
||||
`text-buffer`,
|
||||
yaml,
|
||||
pkg,
|
||||
cli,
|
||||
`task-progress-notifications`,
|
||||
@ -693,6 +695,15 @@ lazy val `syntax-rust-definition` = project
|
||||
Compile / javaSource := baseDirectory.value / "generate-java" / "java"
|
||||
)
|
||||
|
||||
lazy val yaml = (project in file("lib/java/yaml"))
|
||||
.settings(
|
||||
frgaalJavaCompilerSetting,
|
||||
version := "0.1",
|
||||
libraryDependencies ++= Seq(
|
||||
"io.circe" %% "circe-yaml" % circeYamlVersion % "provided"
|
||||
)
|
||||
)
|
||||
|
||||
lazy val pkg = (project in file("lib/scala/pkg"))
|
||||
.settings(
|
||||
Compile / run / mainClass := Some("org.enso.pkg.Main"),
|
||||
@ -1021,6 +1032,8 @@ lazy val `project-manager` = (project in file("lib/scala/project-manager"))
|
||||
Test / javaOptions ++= testLogProviderOptions
|
||||
)
|
||||
.settings(
|
||||
NativeImage.smallJdk := None,
|
||||
NativeImage.additionalCp := Seq.empty,
|
||||
rebuildNativeImage := NativeImage
|
||||
.buildNativeImage(
|
||||
"project-manager",
|
||||
@ -2248,6 +2261,9 @@ lazy val `runtime-fat-jar` =
|
||||
MergeStrategy.concat
|
||||
case PathList("module-info.class") =>
|
||||
MergeStrategy.preferProject
|
||||
// remove once https://github.com/snakeyaml/snakeyaml/pull/12 gets integrated
|
||||
case PathList("org", "yaml", "snakeyaml", "introspector", xs @ _*) =>
|
||||
MergeStrategy.preferProject
|
||||
case PathList(xs @ _*) if xs.last.contains("module-info.class") =>
|
||||
MergeStrategy.discard
|
||||
case _ => MergeStrategy.first
|
||||
@ -2258,6 +2274,7 @@ lazy val `runtime-fat-jar` =
|
||||
.dependsOn(`runtime-instrument-repl-debugger`)
|
||||
.dependsOn(`runtime-instrument-runtime-server`)
|
||||
.dependsOn(`runtime-language-epb`)
|
||||
.dependsOn(yaml)
|
||||
.dependsOn(LocalProject("runtime"))
|
||||
|
||||
/* Note [Unmanaged Classpath]
|
||||
@ -2313,6 +2330,9 @@ lazy val `engine-runner` = project
|
||||
MergeStrategy.concat
|
||||
case "reference.conf" =>
|
||||
MergeStrategy.concat
|
||||
// remove once https://github.com/snakeyaml/snakeyaml/pull/12 gets integrated
|
||||
case PathList("org", "yaml", "snakeyaml", "introspector", xs @ _*) =>
|
||||
MergeStrategy.preferProject
|
||||
case PathList(xs @ _*) if xs.last.contains("module-info") =>
|
||||
// runner.jar must not be a JPMS module
|
||||
MergeStrategy.discard
|
||||
@ -2335,6 +2355,69 @@ lazy val `engine-runner` = project
|
||||
run / connectInput := true
|
||||
)
|
||||
.settings(
|
||||
NativeImage.smallJdk := Some(buildSmallJdk.value),
|
||||
NativeImage.additionalCp := {
|
||||
val core = Seq(
|
||||
"runtime.jar",
|
||||
"runner.jar"
|
||||
)
|
||||
core ++ `base-polyglot-root`.listFiles("*.jar").map(_.getAbsolutePath())
|
||||
},
|
||||
buildSmallJdk := {
|
||||
val smallJdkDirectory = (target.value / "jdk").getAbsoluteFile()
|
||||
if (smallJdkDirectory.exists()) {
|
||||
IO.delete(smallJdkDirectory)
|
||||
}
|
||||
val JS_MODULES =
|
||||
"org.graalvm.nativeimage,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.base,org.graalvm.nativeimage.driver,org.graalvm.nativeimage.librarysupport,org.graalvm.nativeimage.objectfile,org.graalvm.nativeimage.pointsto,com.oracle.graal.graal_enterprise,com.oracle.svm.svm_enterprise,jdk.compiler.graal,jdk.httpserver,java.naming,java.net.http"
|
||||
val DEBUG_MODULES = "jdk.jdwp.agent"
|
||||
val PYTHON_MODULES = "jdk.security.auth,java.naming"
|
||||
|
||||
val javaHome = Option(System.getProperty("java.home")).map(Paths.get(_))
|
||||
val (jlink, modules, libDirs) = javaHome match {
|
||||
case None =>
|
||||
throw new RuntimeException("Missing java.home variable")
|
||||
case Some(jh) =>
|
||||
val exec = jh.resolve("bin").resolve("jlink")
|
||||
val moduleJars = List(
|
||||
"lib/svm/bin/../../graalvm/svm-driver.jar",
|
||||
"lib/svm/bin/../builder/native-image-base.jar",
|
||||
"lib/svm/bin/../builder/objectfile.jar",
|
||||
"lib/svm/bin/../builder/pointsto.jar",
|
||||
"lib/svm/bin/../builder/svm-enterprise.jar",
|
||||
"lib/svm/bin/../builder/svm.jar",
|
||||
"lib/svm/bin/../library-support.jar"
|
||||
)
|
||||
val targetLibDirs = List("graalvm", "svm", "static", "truffle")
|
||||
(
|
||||
exec,
|
||||
moduleJars.map(jar => jh.resolve(jar).toString),
|
||||
targetLibDirs.map(d => jh.resolve("lib").resolve(d))
|
||||
)
|
||||
}
|
||||
|
||||
val exec =
|
||||
s"$jlink --module-path ${modules.mkString(":")} --output $smallJdkDirectory --add-modules $JS_MODULES,$DEBUG_MODULES,$PYTHON_MODULES"
|
||||
val exitCode = scala.sys.process.Process(exec).!
|
||||
|
||||
if (exitCode != 0) {
|
||||
throw new RuntimeException(s"Cannot execute smalljdk.sh")
|
||||
}
|
||||
libDirs.foreach(libDir =>
|
||||
IO.copyDirectory(
|
||||
libDir.toFile,
|
||||
smallJdkDirectory.toPath
|
||||
.resolve("lib")
|
||||
.resolve(libDir.toFile.getName)
|
||||
.toFile
|
||||
)
|
||||
)
|
||||
assert(
|
||||
smallJdkDirectory.exists(),
|
||||
"Directory of small JDK " + smallJdkDirectory + " is not present"
|
||||
)
|
||||
smallJdkDirectory
|
||||
},
|
||||
assembly := assembly
|
||||
.dependsOn(`runtime-fat-jar` / assembly)
|
||||
.value,
|
||||
@ -2346,16 +2429,13 @@ lazy val `engine-runner` = project
|
||||
additionalOptions = Seq(
|
||||
"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog",
|
||||
"-H:IncludeResources=.*Main.enso$",
|
||||
// useful perf & debug switches:
|
||||
// "-g",
|
||||
// "-H:+DashboardAll",
|
||||
// "-H:DashboardDump=runner.bgv"
|
||||
// "-H:+SourceLevelDebug",
|
||||
// "-H:-DeleteLocalSymbols",
|
||||
"-Dnic=nic"
|
||||
),
|
||||
mainClass = Some("org.enso.runner.Main"),
|
||||
additionalCp = Seq(
|
||||
"runtime.jar",
|
||||
"runner.jar"
|
||||
),
|
||||
initializeAtRuntime = Seq(
|
||||
"org.jline.nativ.JLineLibrary",
|
||||
"org.jline.terminal.impl.jna",
|
||||
@ -2373,7 +2453,12 @@ lazy val `engine-runner` = project
|
||||
"akka.http"
|
||||
)
|
||||
)
|
||||
.dependsOn(NativeImage.additionalCp)
|
||||
.dependsOn(NativeImage.smallJdk)
|
||||
.dependsOn(assembly)
|
||||
.dependsOn(
|
||||
buildEngineDistribution
|
||||
)
|
||||
.value,
|
||||
buildNativeImage := NativeImage
|
||||
.incrementalNativeImageBuild(
|
||||
@ -2383,6 +2468,7 @@ lazy val `engine-runner` = project
|
||||
.value
|
||||
)
|
||||
.dependsOn(`version-output`)
|
||||
.dependsOn(yaml)
|
||||
.dependsOn(pkg)
|
||||
.dependsOn(cli)
|
||||
.dependsOn(`library-manager`)
|
||||
@ -2392,6 +2478,9 @@ lazy val `engine-runner` = project
|
||||
.dependsOn(`logging-service-logback` % Runtime)
|
||||
.dependsOn(`polyglot-api`)
|
||||
|
||||
lazy val buildSmallJdk =
|
||||
taskKey[File]("Build a minimal JDK used for native image generation")
|
||||
|
||||
lazy val launcher = project
|
||||
.in(file("engine/launcher"))
|
||||
.configs(Test)
|
||||
@ -2406,6 +2495,8 @@ lazy val launcher = project
|
||||
)
|
||||
)
|
||||
.settings(
|
||||
NativeImage.smallJdk := None,
|
||||
NativeImage.additionalCp := Seq.empty,
|
||||
rebuildNativeImage := NativeImage
|
||||
.buildNativeImage(
|
||||
"enso",
|
||||
|
@ -115,7 +115,7 @@ Note that for convenience, you can run the launcher/engine runner via
|
||||
`bin/enso`, e.g.
|
||||
|
||||
```bash
|
||||
env JAVA_OPTS="-agentlib:native-image-agent=config-merge-dir=./engine/runner-native/src/main/resources/META-INF/native-image/org/enso/runner" ./built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/bin/enso --run tmp.enso
|
||||
env JAVA_OPTS="-agentlib:native-image-agent=config-merge-dir=./engine/runner/src/main/resources/META-INF/native-image/org/enso/runner" ./built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/bin/enso --run tmp.enso
|
||||
```
|
||||
|
||||
The command may need to be re-run with different arguments to ensure that all
|
||||
@ -210,7 +210,7 @@ sbt> engine-runner/buildNativeImage
|
||||
and execute the binary on a sample factorial test program
|
||||
|
||||
```bash
|
||||
> runner --run engine/runner-native/src/test/resources/Factorial.enso 6
|
||||
> runner --run engine/runner/src/test/resources/Factorial.enso 6
|
||||
```
|
||||
|
||||
The task that generates the Native Image, along with all the necessary
|
||||
|
@ -149,7 +149,6 @@ final class ContextFactory {
|
||||
.options(options)
|
||||
.option(RuntimeOptions.ENABLE_AUTO_PARALLELISM, Boolean.toString(enableAutoParallelism))
|
||||
.option(RuntimeOptions.WARNINGS_LIMIT, Integer.toString(warningsLimit))
|
||||
.option("js.foreign-object-prototype", "true")
|
||||
.out(out)
|
||||
.in(in)
|
||||
.serverTransport(
|
||||
@ -181,17 +180,13 @@ final class ContextFactory {
|
||||
}
|
||||
if (ENGINE_HAS_JAVA) {
|
||||
var javaHome = System.getProperty("java.home");
|
||||
if (javaHome == null) {
|
||||
javaHome = System.getenv("JAVA_HOME");
|
||||
}
|
||||
if (javaHome == null) {
|
||||
throw new IllegalStateException("Specify JAVA_HOME environment property");
|
||||
if (javaHome != null) {
|
||||
builder.option("java.JavaHome", javaHome);
|
||||
}
|
||||
builder
|
||||
.option("java.ExposeNativeJavaVM", "true")
|
||||
.option("java.Polyglot", "true")
|
||||
.option("java.UseBindingsLoader", "true")
|
||||
.option("java.JavaHome", javaHome)
|
||||
.allowCreateThread(true);
|
||||
}
|
||||
return new PolyglotContext(builder.build());
|
||||
@ -205,6 +200,13 @@ final class ContextFactory {
|
||||
|
||||
static {
|
||||
var modules = ModuleLayer.boot().modules().stream();
|
||||
ENGINE_HAS_JAVA = modules.anyMatch(m -> "org.graalvm.espresso".equals(m.getName()));
|
||||
var found = modules.anyMatch(m -> "org.graalvm.espresso".equals(m.getName()));
|
||||
if (!found) {
|
||||
var url =
|
||||
ContextFactory.class.getResource(
|
||||
"/META-INF/native-image/com.oracle.truffle.espresso/native-image.properties");
|
||||
found = url != null;
|
||||
}
|
||||
ENGINE_HAS_JAVA = found;
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,191 @@
|
||||
[
|
||||
{
|
||||
"name": "java.lang.ClassLoader",
|
||||
"methods": [
|
||||
{ "name": "getPlatformClassLoader", "parameterTypes": [] },
|
||||
{ "name": "loadClass", "parameterTypes": ["java.lang.String"] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "java.lang.ClassNotFoundException"
|
||||
},
|
||||
{
|
||||
"name": "java.lang.NoSuchMethodError"
|
||||
}
|
||||
{
|
||||
"name":"[Lcom.sun.management.internal.DiagnosticCommandArgumentInfo;"
|
||||
},
|
||||
{
|
||||
"name":"[Lcom.sun.management.internal.DiagnosticCommandInfo;"
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Callback"
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.CallbackReference",
|
||||
"methods":[{"name":"getCallback","parameterTypes":["java.lang.Class","com.sun.jna.Pointer","boolean"] }, {"name":"getFunctionPointer","parameterTypes":["com.sun.jna.Callback","boolean"] }, {"name":"getNativeString","parameterTypes":["java.lang.Object","boolean"] }, {"name":"initializeThread","parameterTypes":["com.sun.jna.Callback","com.sun.jna.CallbackReference$AttachOptions"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.CallbackReference$AttachOptions"
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.FromNativeConverter",
|
||||
"methods":[{"name":"nativeType","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.IntegerType",
|
||||
"fields":[{"name":"value"}]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.JNIEnv"
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Native",
|
||||
"methods":[{"name":"dispose","parameterTypes":[] }, {"name":"fromNative","parameterTypes":["com.sun.jna.FromNativeConverter","java.lang.Object","java.lang.reflect.Method"] }, {"name":"fromNative","parameterTypes":["java.lang.Class","java.lang.Object"] }, {"name":"fromNative","parameterTypes":["java.lang.reflect.Method","java.lang.Object"] }, {"name":"nativeType","parameterTypes":["java.lang.Class"] }, {"name":"toNative","parameterTypes":["com.sun.jna.ToNativeConverter","java.lang.Object"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Native$ffi_callback",
|
||||
"methods":[{"name":"invoke","parameterTypes":["long","long","long"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.NativeMapped",
|
||||
"methods":[{"name":"toNative","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Pointer",
|
||||
"fields":[{"name":"peer"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["long"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.PointerType",
|
||||
"fields":[{"name":"pointer"}]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Structure",
|
||||
"fields":[{"name":"memory"}, {"name":"typeInfo"}],
|
||||
"methods":[{"name":"autoRead","parameterTypes":[] }, {"name":"autoWrite","parameterTypes":[] }, {"name":"getTypeInfo","parameterTypes":[] }, {"name":"newInstance","parameterTypes":["java.lang.Class","long"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Structure$ByValue"
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.Structure$FFIType$FFITypes",
|
||||
"fields":[{"name":"ffi_type_double"}, {"name":"ffi_type_float"}, {"name":"ffi_type_longdouble"}, {"name":"ffi_type_pointer"}, {"name":"ffi_type_sint16"}, {"name":"ffi_type_sint32"}, {"name":"ffi_type_sint64"}, {"name":"ffi_type_sint8"}, {"name":"ffi_type_uint16"}, {"name":"ffi_type_uint32"}, {"name":"ffi_type_uint64"}, {"name":"ffi_type_uint8"}, {"name":"ffi_type_void"}]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.jna.WString",
|
||||
"methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.management.internal.DiagnosticCommandArgumentInfo",
|
||||
"methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","boolean","boolean","int"] }]
|
||||
},
|
||||
{
|
||||
"name":"com.sun.management.internal.DiagnosticCommandInfo",
|
||||
"methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","java.util.List"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Boolean",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["boolean"] }, {"name":"getBoolean","parameterTypes":["java.lang.String"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Byte",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["byte"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Character",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["char"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Class",
|
||||
"methods":[{"name":"getClassLoader","parameterTypes":[] }, {"name":"getComponentType","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.ClassLoader",
|
||||
"methods":[{"name":"getPlatformClassLoader","parameterTypes":[] }, {"name":"loadClass","parameterTypes":["java.lang.String"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.ClassNotFoundException"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Double",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["double"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Float",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["float"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Integer",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["int"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Long",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["long"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.NoSuchMethodError"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Object",
|
||||
"methods":[{"name":"toString","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Short",
|
||||
"fields":[{"name":"TYPE"}, {"name":"value"}],
|
||||
"methods":[{"name":"<init>","parameterTypes":["short"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.String",
|
||||
"methods":[{"name":"<init>","parameterTypes":["byte[]"] }, {"name":"<init>","parameterTypes":["byte[]","java.lang.String"] }, {"name":"getBytes","parameterTypes":[] }, {"name":"getBytes","parameterTypes":["java.lang.String"] }, {"name":"toCharArray","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.System",
|
||||
"methods":[{"name":"getProperty","parameterTypes":["java.lang.String"] }]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Void",
|
||||
"fields":[{"name":"TYPE"}]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.reflect.Method",
|
||||
"methods":[{"name":"getParameterTypes","parameterTypes":[] }, {"name":"getReturnType","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.Buffer",
|
||||
"methods":[{"name":"position","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.ByteBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.CharBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.DoubleBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.FloatBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.IntBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.LongBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.nio.ShortBuffer",
|
||||
"methods":[{"name":"array","parameterTypes":[] }, {"name":"arrayOffset","parameterTypes":[] }]
|
||||
},
|
||||
{
|
||||
"name":"java.util.Arrays",
|
||||
"methods":[{"name":"asList","parameterTypes":["java.lang.Object[]"] }]
|
||||
},
|
||||
{
|
||||
"name":"jdk.internal.loader.ClassLoaders$AppClassLoader"
|
||||
},
|
||||
{
|
||||
"name":"sun.management.VMManagementImpl",
|
||||
"fields":[{"name":"compTimeMonitoringSupport"}, {"name":"currentThreadCpuTimeSupport"}, {"name":"objectMonitorUsageSupport"}, {"name":"otherThreadCpuTimeSupport"}, {"name":"remoteDiagnosticCommandsSupport"}, {"name":"synchronizerUsageSupport"}, {"name":"threadAllocatedMemorySupport"}, {"name":"threadContentionMonitoringSupport"}]
|
||||
}
|
||||
]
|
||||
|
@ -1 +1,5 @@
|
||||
[]
|
||||
[
|
||||
{
|
||||
"interfaces":["org.jline.terminal.impl.jna.linux.CLibrary"]
|
||||
}
|
||||
]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,39 +1,614 @@
|
||||
{
|
||||
"resources":{
|
||||
"includes":[
|
||||
{
|
||||
"pattern":"\\QMETA-INF/org/enso/interpreter/node/expression/builtin/BuiltinMethods.metadata\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\QMETA-INF/org/enso/interpreter/node/expression/builtin/BuiltinTypes.metadata\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.TruffleLanguage$Provider\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.instrumentation.TruffleInstrument$Provider\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\QMETA-INF/services/java.nio.file.spi.FileSystemProvider\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\Qcom/oracle/truffle/nfi/backend/libffi/LibFFILanguage.class\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\Qorg/enso/interpreter/Language.class\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\Qorg/enso/interpreter/epb/EpbLanguage.class\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\Qapplication.conf\\E"
|
||||
},
|
||||
{
|
||||
"pattern":"\\Qch/qos/logback/classic/spi/Configurator.class\\E"
|
||||
}
|
||||
]},
|
||||
"bundles":[]
|
||||
"includes":[{
|
||||
"pattern":"\\QMETA-INF/org/enso/interpreter/node/expression/builtin/BuiltinMethods.metadata\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/org/enso/interpreter/node/expression/builtin/BuiltinTypes.metadata\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/ch.qos.logback.classic.spi.Configurator\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.graal.python.builtins.PythonBuiltins\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.TruffleLanguage$Provider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.impl.TruffleLocator\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.instrumentation.TruffleInstrument$Provider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.instrumentation.provider.TruffleInstrumentProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.library.DefaultExportProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.library.provider.DefaultExportProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.object.LayoutFactory\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.provider.InternalResourceProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.api.provider.TruffleLanguageProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.runtime.EngineCacheSupport\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.runtime.FloodControlHandler\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/com.oracle.truffle.runtime.TruffleTypes\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.lang.Cloneable\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.net.ContentHandlerFactory\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.net.spi.InetAddressResolverProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.net.spi.URLStreamHandlerProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.nio.channels.spi.SelectorProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.nio.charset.spi.CharsetProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.nio.file.spi.FileSystemProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/java.time.zone.ZoneRulesProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/javax.xml.parsers.DocumentBuilderFactory\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/javax.xml.xpath.XPathFactory\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/jdk.vm.ci.services.JVMCIServiceLocator\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org.apache.tika.detect.EncodingDetector\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org.enso.base.file_format.FileFormatSPI\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org.enso.logger.LoggerSetup\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org.enso.persist.Persistance\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org.w3c.dom.DOMImplementationSourceList\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org/jline/terminal/provider/exec\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org/jline/terminal/provider/jansi\\E"
|
||||
}, {
|
||||
"pattern":"\\QMETA-INF/services/org/jline/terminal/provider/jna\\E"
|
||||
}, {
|
||||
"pattern":"\\Qakka-http-version.conf\\E"
|
||||
}, {
|
||||
"pattern":"\\Qakka-http-version.json\\E"
|
||||
}, {
|
||||
"pattern":"\\Qakka-http-version.properties\\E"
|
||||
}, {
|
||||
"pattern":"\\Qapplication.conf\\E"
|
||||
}, {
|
||||
"pattern":"\\Qapplication.json\\E"
|
||||
}, {
|
||||
"pattern":"\\Qapplication.properties\\E"
|
||||
}, {
|
||||
"pattern":"\\Qch/qos/logback/classic/spi/Configurator.class\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/ICUConfig.properties\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai_graphclust.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai_graphclust_model4.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai_graphclust_model4_heavy.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/char.brk\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/cjdict.dict\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en_GB.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en_Latn.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en_US.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/root.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/thaidict.dict\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/word.brk\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/coll/\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/coll/en.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/coll/en_US.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/coll/root.res\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/coll/ucadata.icu\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/nfc.nrm\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/nfkc.nrm\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/nfkc_cf.nrm\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/pnames.icu\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/ucase.icu\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/ibm/icu/impl/data/icudt73b/uprops.icu\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/oracle/truffle/nfi/backend/libffi/LibFFILanguage.class\\E"
|
||||
}, {
|
||||
"pattern":"\\Qcom/sun/jna/linux-x86-64/libjnidispatch.so\\E"
|
||||
}, {
|
||||
"pattern":"\\Qlogback-test.xml\\E"
|
||||
}, {
|
||||
"pattern":"\\Qlogback.xml\\E"
|
||||
}, {
|
||||
"pattern":"\\Qorg/enso/interpreter/Language.class\\E"
|
||||
}, {
|
||||
"pattern":"\\Qorg/enso/interpreter/epb/EpbLanguage.class\\E"
|
||||
}, {
|
||||
"pattern":"\\Qorg/jline/utils/capabilities.txt\\E"
|
||||
}, {
|
||||
"pattern":"\\Qorg/jline/utils/xterm-256color.caps\\E"
|
||||
}, {
|
||||
"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"
|
||||
}, {
|
||||
"pattern":"\\Qreference.conf\\E"
|
||||
}, {
|
||||
"pattern":"\\Qurlhandler.props\\E"
|
||||
}, {
|
||||
"pattern":"\\Qversion.conf\\E"
|
||||
}, {
|
||||
"pattern":"\\Qversion.json\\E"
|
||||
}, {
|
||||
"pattern":"\\Qversion.properties\\E"
|
||||
}, {
|
||||
"pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt72b/uprops.icu\\E"
|
||||
}, {
|
||||
"pattern":"java.base:\\Qsun/net/idn/uidna.spp\\E"
|
||||
}, {
|
||||
"pattern":"java.base:\\Qsun/net/www/content-types.properties\\E"
|
||||
}, {
|
||||
"pattern":"java.xml:\\Qcom/sun/org/apache/xml/internal/serializer/Encodings.properties\\E"
|
||||
}, {
|
||||
"pattern":"jdk.jfr:\\Qjdk/jfr/internal/query/view.ini\\E"
|
||||
}, {
|
||||
"pattern":"jdk.jfr:\\Qjdk/jfr/internal/types/metadata.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/ICUConfig.properties\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai_graphclust.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai_graphclust_model4.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/Thai_graphclust_model4_heavy.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/char.brk\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/cjdict.dict\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en_GB.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en_Latn.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/en_US.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/root.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/thaidict.dict\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/brkitr/word.brk\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/coll/en.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/coll/en_US.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/coll/root.res\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/coll/ucadata.icu\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/nfc.nrm\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/nfkc.nrm\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/nfkc_cf.nrm\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/pnames.icu\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/ucase.icu\\E"
|
||||
}, {
|
||||
"pattern":"org.enso.runtime:\\Qcom/ibm/icu/impl/data/icudt73b/uprops.icu\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.polyglot:\\QMETA-INF/graalvm/org.graalvm.polyglot/version\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py.resources:\\QMETA-INF/resources/include.sha256\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py.resources:\\QMETA-INF/resources/libgraalpy.sha256\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py.resources:\\QMETA-INF/resources/libpython.sha256\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py.resources:\\QMETA-INF/resources/linux/amd64/native.sha256\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py.resources:\\QMETA-INF/resources/ni.sha256\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py.resources:\\Qgraalpy_versions\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/PythonBuiltins.class\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenABC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenCODECS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenCOLLECTIONS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenCOLLECTIONS_ABC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenCOPYREG.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ALIASES.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ASCII.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_BASE64_CODEC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_BIG5.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_BIG5HKSCS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_BZ2_CODEC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CHARMAP.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP037.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1006.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1026.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1125.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1140.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1250.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1251.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1252.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1253.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1254.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1255.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1256.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1257.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP1258.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP273.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP424.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP437.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP500.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP720.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP737.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP775.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP850.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP852.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP855.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP856.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP857.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP858.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP860.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP861.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP862.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP863.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP864.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP865.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP866.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP869.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP874.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP875.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP932.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP949.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_CP950.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_EUC_JISX0213.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_EUC_JIS_2004.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_EUC_JP.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_EUC_KR.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_GB18030.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_GB2312.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_GBK.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_HEX_CODEC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_HP_ROMAN8.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_HZ.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_IDNA.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_JP.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_JP_1.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_JP_2.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_JP_2004.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_JP_3.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_JP_EXT.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO2022_KR.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_1.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_10.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_11.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_13.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_14.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_15.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_16.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_2.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_3.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_4.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_5.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_6.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_7.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_8.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ISO8859_9.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_JOHAB.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_KOI8_R.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_KOI8_T.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_KOI8_U.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_KZ1048.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_LATIN_1.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_ARABIC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_CROATIAN.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_CYRILLIC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_FARSI.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_GREEK.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_ICELAND.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_LATIN2.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_ROMAN.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_ROMANIAN.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MAC_TURKISH.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_MBCS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_OEM.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_PALMOS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_PTCP154.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_PUNYCODE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_QUOPRI_CODEC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_RAW_UNICODE_ESCAPE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ROT_13.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_SHIFT_JIS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_SHIFT_JISX0213.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_SHIFT_JIS_2004.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_TIS_620.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UNDEFINED.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UNICODE_ESCAPE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_16.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_16_BE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_16_LE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_32.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_32_BE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_32_LE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_7.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_8.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UTF_8_SIG.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_UU_CODEC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENCODINGS_ZLIB_CODEC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenENUM.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenFROZEN_ONLY.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenFUNCTOOLS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGENERICPATH.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY_BUILTINS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY_FUNCTION.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY_JAVA.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY_PIP_HOOK.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY_SULONG_SUPPORT.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY_UNICODEDATA.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY__SRE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY__STRUCT.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY__SYSCONFIG.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY__WEAKREF.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenGRAALPY___GRAALPYTHON__.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenHEAPQ.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenIMPORTLIB__BOOTSTRAP.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenIMPORTLIB__BOOTSTRAP_EXTERNAL.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenIO.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenKEYWORD.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenLOCALE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenNTPATH.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenOPERATOR.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenOS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenPOSIXPATH.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenRE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenREPRLIB.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenRLCOMPLETER.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenSITE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenSRE_COMPILE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenSRE_CONSTANTS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenSRE_PARSE.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenSTAT.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenTYPES.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/FrozenZIPIMPORT.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/Frozen_COLLECTIONS_ABC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/Frozen_PY_ABC.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/Frozen_SITEBUILTINS.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/Frozen_SYSCONFIGDATA.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/Frozen_WEAKREFSET.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qcom/oracle/graal/python/builtins/objects/module/Frozen__HELLO__.bin\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.py:\\Qgraalpy_versions\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.shadowed.icu4j:\\Qorg/graalvm/shadowed/com/ibm/icu/ICUConfig.properties\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.shadowed.icu4j:\\Qorg/graalvm/shadowed/com/ibm/icu/impl/data/icudt74b/pool.res\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.shadowed.icu4j:\\Qorg/graalvm/shadowed/com/ibm/icu/impl/data/icudt74b/root.res\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.shadowed.icu4j:\\Qorg/graalvm/shadowed/com/ibm/icu/impl/data/icudt74b/uprops.icu\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.shadowed.icu4j:\\Qorg/graalvm/shadowed/com/ibm/icu/impl/data/icudt74b/zoneinfo64.res\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.truffle.runtime:\\QMETA-INF/resources/engine/libtruffleattach/linux/amd64/sha256\\E"
|
||||
}, {
|
||||
"pattern":"org.graalvm.truffle:\\QMETA-INF/graalvm/org.graalvm.truffle/version\\E"
|
||||
}]},
|
||||
"bundles":[{
|
||||
"name":"com.oracle.js.parser.resources.Messages",
|
||||
"locales":[""]
|
||||
}, {
|
||||
"name":"com.sun.org.apache.xerces.internal.impl.msg.XMLMessages",
|
||||
"locales":[""]
|
||||
}, {
|
||||
"name":"com.sun.org.apache.xml.internal.serializer.XMLEntities",
|
||||
"locales":[""]
|
||||
}, {
|
||||
"name":"com.sun.org.apache.xml.internal.serializer.utils.SerializerMessages",
|
||||
"classNames":["com.sun.org.apache.xml.internal.serializer.utils.SerializerMessages", "com.sun.org.apache.xml.internal.serializer.utils.SerializerMessages_en"]
|
||||
}, {
|
||||
"name":"com.sun.org.apache.xpath.internal.res.XPATHErrorResources",
|
||||
"classNames":["com.sun.org.apache.xpath.internal.res.XPATHErrorResources", "com.sun.org.apache.xpath.internal.res.XPATHErrorResources_en"]
|
||||
}]
|
||||
}
|
||||
|
@ -1,269 +1,275 @@
|
||||
[
|
||||
{
|
||||
"name":"java.lang.Integer"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Number"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.String"
|
||||
},
|
||||
{
|
||||
"name":"java.util.UUID"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.core.ir.DiagnosticStorage"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.core.ir.MetadataStorage"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$Cons"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ExportedModule"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ModuleMethod"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ModuleReference$Abstract"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$PolyglotSymbol"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$Resolution"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedConstructor"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedImport"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedMethod"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedModule"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedPolyglotSymbol"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$AllowedResolution"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Hiding"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Intersect"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Only"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Union"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$Type"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Link"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Occurrence$Def"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Occurrence$Use"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Scope"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Info$Occurrence"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Info$Scope$Child"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Info$Scope$Root"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.BindingAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.CachePreferenceAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.CachePreferenceAnalysis$WeightInfo"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyInfo"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyInfo$Type$Dynamic"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyInfo$Type$Static"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyMapping"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.GatherDiagnostics$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.GatherDiagnostics$DiagnosticsMeta"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.TailCall$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.TailCall$TailPosition$NotTail$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.TailCall$TailPosition$Tail$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.DocumentationComments$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.DocumentationComments$Doc"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.ExpressionAnnotations$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.GlobalNames$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.IgnoredBindings$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.IgnoredBindings$State$Ignored$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.IgnoredBindings$State$NotIgnored$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.MethodCalls$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.MethodDefinitions$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.ModuleAnnotations$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.ModuleAnnotations$Annotations"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.Patterns$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.TypeSignatures$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.TypeSignatures$Signature"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.pkg.QualifiedName"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.syntax.text.Location"
|
||||
},
|
||||
{
|
||||
"name":"scala.None$"
|
||||
},
|
||||
{
|
||||
"name":"scala.Option"
|
||||
},
|
||||
{
|
||||
"name":"scala.Some"
|
||||
},
|
||||
{
|
||||
"name":"scala.Tuple2"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.IterableFactory$ToFactory"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.MapFactory$ToFactory"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.generic.DefaultSerializationProxy"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.generic.SerializeEnd$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashMap$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashMap"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashSet$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashSet"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.List$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.List"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$EmptyMap$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map1"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map2"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map3"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map4"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$EmptySet$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set1"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set2"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set3"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set4"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.mutable.HashMap$DeserializationFactory"
|
||||
},
|
||||
{
|
||||
"name":"scala.runtime.ModuleSerializationProxy"
|
||||
}
|
||||
]
|
||||
{
|
||||
"types":[
|
||||
{
|
||||
"name":"java.lang.Integer"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.Number"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.String"
|
||||
},
|
||||
{
|
||||
"name":"java.util.UUID"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.core.ir.DiagnosticStorage"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.core.ir.MetadataStorage"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$Cons"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ExportedModule"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ModuleMethod"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ModuleReference$Abstract"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$PolyglotSymbol"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$Resolution"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedConstructor"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedImport"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedMethod"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedModule"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$ResolvedPolyglotSymbol"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$AllowedResolution"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Hiding"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Intersect"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Only"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$SymbolRestriction$Union"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.data.BindingsMap$Type"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Link"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Occurrence$Def"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Occurrence$Use"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Graph$Scope"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Info$Occurrence"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Info$Scope$Child"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.AliasAnalysis$Info$Scope$Root"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.BindingAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.CachePreferenceAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.CachePreferenceAnalysis$WeightInfo"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyInfo"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyInfo$Type$Dynamic"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyInfo$Type$Static"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.DataflowAnalysis$DependencyMapping"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.GatherDiagnostics$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.GatherDiagnostics$DiagnosticsMeta"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.TailCall$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.TailCall$TailPosition$NotTail$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.analyse.TailCall$TailPosition$Tail$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.DocumentationComments$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.DocumentationComments$Doc"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.ExpressionAnnotations$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.GlobalNames$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.IgnoredBindings$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.IgnoredBindings$State$Ignored$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.IgnoredBindings$State$NotIgnored$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.MethodCalls$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.MethodDefinitions$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.ModuleAnnotations$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.ModuleAnnotations$Annotations"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.Patterns$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.TypeSignatures$"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.compiler.pass.resolve.TypeSignatures$Signature"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.pkg.QualifiedName"
|
||||
},
|
||||
{
|
||||
"name":"org.enso.syntax.text.Location"
|
||||
},
|
||||
{
|
||||
"name":"scala.None$"
|
||||
},
|
||||
{
|
||||
"name":"scala.Option"
|
||||
},
|
||||
{
|
||||
"name":"scala.Some"
|
||||
},
|
||||
{
|
||||
"name":"scala.Tuple2"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.IterableFactory$ToFactory"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.MapFactory$ToFactory"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.generic.DefaultSerializationProxy"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.generic.SerializeEnd$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashMap"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashMap$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashSet"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.HashSet$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.List"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.List$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$EmptyMap$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map1"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map2"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map3"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Map$Map4"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$EmptySet$"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set1"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set2"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set3"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.immutable.Set$Set4"
|
||||
},
|
||||
{
|
||||
"name":"scala.collection.mutable.HashMap$DeserializationFactory"
|
||||
},
|
||||
{
|
||||
"name":"scala.runtime.ModuleSerializationProxy"
|
||||
}
|
||||
],
|
||||
"lambdaCapturingTypes":[
|
||||
],
|
||||
"proxies":[
|
||||
]
|
||||
}
|
||||
|
@ -1,13 +1,12 @@
|
||||
import Standard.Base.Data.Numbers
|
||||
import Standard.Base.IO
|
||||
|
||||
fac n =
|
||||
facacc n v = if int_lte n 1 then v else @Tail_Call facacc (int_minus n 1) (int_mul n v)
|
||||
facacc n v = if n <= 1 then v else @Tail_Call facacc n-1 n*v
|
||||
|
||||
res = facacc n 1
|
||||
res
|
||||
|
||||
int_lte a b = @Builtin_Method "Integer.<="
|
||||
int_minus a b = @Builtin_Method "Integer.-"
|
||||
int_mul a b = @Builtin_Method "Integer.*"
|
||||
|
||||
main number =
|
||||
## Note: This assumes that number is of type Integer already
|
||||
fac number
|
||||
main number=5 =
|
||||
v = fac number
|
||||
IO.println v
|
||||
|
@ -0,0 +1,185 @@
|
||||
/**
|
||||
* Copyright (c) 2008, SnakeYAML
|
||||
*
|
||||
* <p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* <p>http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* <p>Unless required by applicable law or agreed to in writing, software distributed under the
|
||||
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
* express or implied. See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.yaml.snakeyaml.introspector;
|
||||
|
||||
// remove once https://github.com/snakeyaml/snakeyaml/pull/12 gets integrated
|
||||
import java.beans.FeatureDescriptor;
|
||||
import java.beans.IntrospectionException;
|
||||
import java.beans.Introspector;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.yaml.snakeyaml.error.YAMLException;
|
||||
import org.yaml.snakeyaml.util.ArrayUtils;
|
||||
|
||||
/**
|
||||
* A <code>MethodProperty</code> is a <code>Property</code> which is accessed through accessor
|
||||
* methods (setX, getX). It is possible to have a <code>MethodProperty</code> which has only setter,
|
||||
* only getter, or both. It is not possible to have a <code>MethodProperty</code> which has neither
|
||||
* setter nor getter.
|
||||
*/
|
||||
public class MethodProperty extends GenericProperty {
|
||||
|
||||
private final PropertyDescriptor property;
|
||||
private final boolean readable;
|
||||
private final boolean writable;
|
||||
|
||||
private static Type discoverGenericType(PropertyDescriptor property) {
|
||||
Method readMethod = property.getReadMethod();
|
||||
if (readMethod != null) {
|
||||
return readMethod.getGenericReturnType();
|
||||
}
|
||||
|
||||
Method writeMethod = property.getWriteMethod();
|
||||
if (writeMethod != null) {
|
||||
Type[] paramTypes = writeMethod.getGenericParameterTypes();
|
||||
if (paramTypes.length > 0) {
|
||||
return paramTypes[0];
|
||||
}
|
||||
}
|
||||
/*
|
||||
* This actually may happen if PropertyDescriptor is of type IndexedPropertyDescriptor and it
|
||||
* has only IndexedGetter/Setter. ATM we simply skip type discovery.
|
||||
*/
|
||||
return null;
|
||||
}
|
||||
|
||||
public MethodProperty(PropertyDescriptor property) {
|
||||
super(
|
||||
property.getName(),
|
||||
property.getPropertyType(),
|
||||
MethodProperty.discoverGenericType(property));
|
||||
this.property = property;
|
||||
this.readable = property.getReadMethod() != null;
|
||||
this.writable = property.getWriteMethod() != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(Object object, Object value) throws Exception {
|
||||
if (!writable) {
|
||||
throw new YAMLException(
|
||||
"No writable property '" + getName() + "' on class: " + object.getClass().getName());
|
||||
}
|
||||
property.getWriteMethod().invoke(object, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object get(Object object) {
|
||||
try {
|
||||
property.getReadMethod().setAccessible(true); // issue 50
|
||||
return property.getReadMethod().invoke(object);
|
||||
} catch (Exception e) {
|
||||
throw new YAMLException(
|
||||
"Unable to find getter for property '"
|
||||
+ property.getName()
|
||||
+ "' on object "
|
||||
+ object
|
||||
+ ":"
|
||||
+ e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the annotations that are present on read and write methods of this property or empty
|
||||
* {@code List} if there're no annotations.
|
||||
*
|
||||
* @return the annotations that are present on this property or empty {@code List} if there're no
|
||||
* annotations
|
||||
*/
|
||||
@Override
|
||||
public List<Annotation> getAnnotations() {
|
||||
List<Annotation> annotations;
|
||||
if (isReadable() && isWritable()) {
|
||||
annotations =
|
||||
ArrayUtils.toUnmodifiableCompositeList(
|
||||
property.getReadMethod().getAnnotations(),
|
||||
property.getWriteMethod().getAnnotations());
|
||||
} else if (isReadable()) {
|
||||
annotations = ArrayUtils.toUnmodifiableList(property.getReadMethod().getAnnotations());
|
||||
} else {
|
||||
annotations = ArrayUtils.toUnmodifiableList(property.getWriteMethod().getAnnotations());
|
||||
}
|
||||
return annotations;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns property's annotation for the given type or {@code null} if it's not present. If the
|
||||
* annotation is present on both read and write methods, the annotation on read method takes
|
||||
* precedence.
|
||||
*
|
||||
* @param annotationType the type of the annotation to be returned
|
||||
* @return property's annotation for the given type or {@code null} if it's not present
|
||||
*/
|
||||
@Override
|
||||
public <A extends Annotation> A getAnnotation(Class<A> annotationType) {
|
||||
A annotation = null;
|
||||
if (isReadable()) {
|
||||
annotation = property.getReadMethod().getAnnotation(annotationType);
|
||||
}
|
||||
if (annotation == null && isWritable()) {
|
||||
annotation = property.getWriteMethod().getAnnotation(annotationType);
|
||||
}
|
||||
return annotation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWritable() {
|
||||
return writable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReadable() {
|
||||
return readable;
|
||||
}
|
||||
|
||||
private static final String TRANSIENT = "transient";
|
||||
|
||||
private static boolean isTransient(FeatureDescriptor fd) {
|
||||
return Boolean.TRUE.equals(fd.getValue(TRANSIENT));
|
||||
}
|
||||
|
||||
static void addProperties(
|
||||
Class<?> type, Map<String, Property> properties, boolean[] inaccessableFieldsExist) {
|
||||
try {
|
||||
for (PropertyDescriptor property : Introspector.getBeanInfo(type).getPropertyDescriptors()) {
|
||||
Method readMethod = property.getReadMethod();
|
||||
if ((readMethod == null || !readMethod.getName().equals("getClass"))
|
||||
&& !isTransient(property)) {
|
||||
properties.put(property.getName(), new MethodProperty(property));
|
||||
}
|
||||
}
|
||||
} catch (IntrospectionException e) {
|
||||
throw new YAMLException(e);
|
||||
}
|
||||
|
||||
// add public fields
|
||||
for (Class<?> c = type; c != null; c = c.getSuperclass()) {
|
||||
for (Field field : c.getDeclaredFields()) {
|
||||
int modifiers = field.getModifiers();
|
||||
if (!Modifier.isStatic(modifiers) && !Modifier.isTransient(modifiers)) {
|
||||
if (Modifier.isPublic(modifiers)) {
|
||||
properties.put(field.getName(), new FieldProperty(field));
|
||||
} else {
|
||||
inaccessableFieldsExist[0] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,172 @@
|
||||
/**
|
||||
* Copyright (c) 2008, SnakeYAML
|
||||
*
|
||||
* <p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* <p>http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* <p>Unless required by applicable law or agreed to in writing, software distributed under the
|
||||
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
||||
* express or implied. See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.yaml.snakeyaml.introspector;
|
||||
|
||||
// remove once https://github.com/snakeyaml/snakeyaml/pull/12 gets integrated
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import org.yaml.snakeyaml.error.YAMLException;
|
||||
import org.yaml.snakeyaml.util.PlatformFeatureDetector;
|
||||
|
||||
public class PropertyUtils {
|
||||
|
||||
private final Map<Class<?>, Map<String, Property>> propertiesCache =
|
||||
new HashMap<Class<?>, Map<String, Property>>();
|
||||
private final Map<Class<?>, Set<Property>> readableProperties =
|
||||
new HashMap<Class<?>, Set<Property>>();
|
||||
private BeanAccess beanAccess = BeanAccess.DEFAULT;
|
||||
private boolean allowReadOnlyProperties = false;
|
||||
private boolean skipMissingProperties = false;
|
||||
|
||||
private final PlatformFeatureDetector platformFeatureDetector;
|
||||
|
||||
public PropertyUtils() {
|
||||
this(new PlatformFeatureDetector());
|
||||
}
|
||||
|
||||
PropertyUtils(PlatformFeatureDetector platformFeatureDetector) {
|
||||
this.platformFeatureDetector = platformFeatureDetector;
|
||||
|
||||
/*
|
||||
* Android lacks much of java.beans (including the Introspector class, used here), because
|
||||
* java.beans classes tend to rely on java.awt, which isn't supported in the Android SDK. That
|
||||
* means we have to fall back on FIELD access only when SnakeYAML is running on the Android
|
||||
* Runtime.
|
||||
*/
|
||||
if (platformFeatureDetector.isRunningOnAndroid()) {
|
||||
beanAccess = BeanAccess.FIELD;
|
||||
}
|
||||
|
||||
/* when running with jlink restricted JDK without java.desktop package */
|
||||
try {
|
||||
Class.forName("java.beans.Introspector");
|
||||
} catch (ClassNotFoundException ex) {
|
||||
beanAccess = BeanAccess.FIELD;
|
||||
}
|
||||
}
|
||||
|
||||
protected Map<String, Property> getPropertiesMap(Class<?> type, BeanAccess bAccess) {
|
||||
if (propertiesCache.containsKey(type)) {
|
||||
return propertiesCache.get(type);
|
||||
}
|
||||
|
||||
Map<String, Property> properties = new LinkedHashMap<String, Property>();
|
||||
boolean[] inaccessableFieldsExist = {false};
|
||||
if (bAccess == BeanAccess.FIELD) {
|
||||
for (Class<?> c = type; c != null; c = c.getSuperclass()) {
|
||||
for (Field field : c.getDeclaredFields()) {
|
||||
int modifiers = field.getModifiers();
|
||||
if (!Modifier.isStatic(modifiers)
|
||||
&& !Modifier.isTransient(modifiers)
|
||||
&& !properties.containsKey(field.getName())) {
|
||||
properties.put(field.getName(), new FieldProperty(field));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else { // add JavaBean properties
|
||||
MethodProperty.addProperties(type, properties, inaccessableFieldsExist);
|
||||
}
|
||||
if (properties.isEmpty() && inaccessableFieldsExist[0]) {
|
||||
throw new YAMLException("No JavaBean properties found in " + type.getName());
|
||||
}
|
||||
propertiesCache.put(type, properties);
|
||||
return properties;
|
||||
}
|
||||
|
||||
public Set<Property> getProperties(Class<? extends Object> type) {
|
||||
return getProperties(type, beanAccess);
|
||||
}
|
||||
|
||||
public Set<Property> getProperties(Class<? extends Object> type, BeanAccess bAccess) {
|
||||
if (readableProperties.containsKey(type)) {
|
||||
return readableProperties.get(type);
|
||||
}
|
||||
Set<Property> properties = createPropertySet(type, bAccess);
|
||||
readableProperties.put(type, properties);
|
||||
return properties;
|
||||
}
|
||||
|
||||
protected Set<Property> createPropertySet(Class<? extends Object> type, BeanAccess bAccess) {
|
||||
Set<Property> properties = new TreeSet<Property>();
|
||||
Collection<Property> props = getPropertiesMap(type, bAccess).values();
|
||||
for (Property property : props) {
|
||||
if (property.isReadable() && (allowReadOnlyProperties || property.isWritable())) {
|
||||
properties.add(property);
|
||||
}
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
public Property getProperty(Class<? extends Object> type, String name) {
|
||||
return getProperty(type, name, beanAccess);
|
||||
}
|
||||
|
||||
public Property getProperty(Class<? extends Object> type, String name, BeanAccess bAccess) {
|
||||
Map<String, Property> properties = getPropertiesMap(type, bAccess);
|
||||
Property property = properties.get(name);
|
||||
if (property == null && skipMissingProperties) {
|
||||
property = new MissingProperty(name);
|
||||
}
|
||||
if (property == null) {
|
||||
throw new YAMLException("Unable to find property '" + name + "' on class: " + type.getName());
|
||||
}
|
||||
return property;
|
||||
}
|
||||
|
||||
public void setBeanAccess(BeanAccess beanAccess) {
|
||||
if (platformFeatureDetector.isRunningOnAndroid() && beanAccess != BeanAccess.FIELD) {
|
||||
throw new IllegalArgumentException("JVM is Android - only BeanAccess.FIELD is available");
|
||||
}
|
||||
|
||||
if (this.beanAccess != beanAccess) {
|
||||
this.beanAccess = beanAccess;
|
||||
propertiesCache.clear();
|
||||
readableProperties.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public void setAllowReadOnlyProperties(boolean allowReadOnlyProperties) {
|
||||
if (this.allowReadOnlyProperties != allowReadOnlyProperties) {
|
||||
this.allowReadOnlyProperties = allowReadOnlyProperties;
|
||||
readableProperties.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAllowReadOnlyProperties() {
|
||||
return allowReadOnlyProperties;
|
||||
}
|
||||
|
||||
/**
|
||||
* Skip properties that are missing during deserialization of YAML to a Java object. The default
|
||||
* is false.
|
||||
*
|
||||
* @param skipMissingProperties true if missing properties should be skipped, false otherwise.
|
||||
*/
|
||||
public void setSkipMissingProperties(boolean skipMissingProperties) {
|
||||
if (this.skipMissingProperties != skipMissingProperties) {
|
||||
this.skipMissingProperties = skipMissingProperties;
|
||||
readableProperties.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isSkipMissingProperties() {
|
||||
return skipMissingProperties;
|
||||
}
|
||||
}
|
@ -9,8 +9,13 @@ import scala.collection.immutable.Seq
|
||||
/** A collection of utility methods for everything related to the GraalVM and Truffle.
|
||||
*/
|
||||
object GraalVM {
|
||||
|
||||
/** Has the user requested to use Espresso for Java interop? */
|
||||
private def isEspressoMode(): Boolean =
|
||||
"espresso".equals(System.getenv("ENSO_JAVA"))
|
||||
|
||||
// Keep in sync with graalMavenPackagesVersion in build.sbt
|
||||
val version: String = "24.0.0"
|
||||
private val version: String = "24.0.0"
|
||||
|
||||
/** The list of modules that are included in the `component` directory in engine distribution.
|
||||
* When invoking the `java` command, these modules need to be put on the module-path.
|
||||
@ -26,7 +31,7 @@ object GraalVM {
|
||||
"org.graalvm.truffle" % "truffle-compiler" % version
|
||||
)
|
||||
|
||||
val sdkPkgs = Seq(
|
||||
private val sdkPkgs = Seq(
|
||||
"org.graalvm.sdk" % "polyglot-tck" % version,
|
||||
"org.graalvm.sdk" % "nativeimage" % version,
|
||||
"org.graalvm.sdk" % "word" % version,
|
||||
@ -34,11 +39,11 @@ object GraalVM {
|
||||
"org.graalvm.sdk" % "collections" % version
|
||||
)
|
||||
|
||||
val polyglotPkgs = Seq(
|
||||
private val polyglotPkgs = Seq(
|
||||
"org.graalvm.polyglot" % "polyglot" % version
|
||||
)
|
||||
|
||||
val trufflePkgs = Seq(
|
||||
private val trufflePkgs = Seq(
|
||||
"org.graalvm.truffle" % "truffle-api" % version,
|
||||
"org.graalvm.truffle" % "truffle-runtime" % version,
|
||||
"org.graalvm.truffle" % "truffle-compiler" % version,
|
||||
@ -51,35 +56,37 @@ object GraalVM {
|
||||
* into engine distribution build, so we have to maintain these manually.
|
||||
*/
|
||||
|
||||
val pythonPkgs = Seq(
|
||||
"org.graalvm.python" % "python-language" % version,
|
||||
"org.graalvm.python" % "python-resources" % version,
|
||||
"org.bouncycastle" % "bcutil-jdk18on" % "1.76",
|
||||
"org.bouncycastle" % "bcpkix-jdk18on" % "1.76",
|
||||
"org.bouncycastle" % "bcprov-jdk18on" % "1.76",
|
||||
"org.graalvm.llvm" % "llvm-api" % version,
|
||||
"org.graalvm.truffle" % "truffle-nfi" % version,
|
||||
"org.graalvm.truffle" % "truffle-nfi-libffi" % version,
|
||||
"org.graalvm.regex" % "regex" % version,
|
||||
"org.graalvm.tools" % "profiler-tool" % version,
|
||||
"org.graalvm.shadowed" % "json" % version,
|
||||
"org.graalvm.shadowed" % "icu4j" % version,
|
||||
"org.graalvm.shadowed" % "xz" % version
|
||||
)
|
||||
private val pythonPkgs =
|
||||
Seq(
|
||||
"org.graalvm.python" % "python-language" % version,
|
||||
"org.graalvm.python" % "python-resources" % version,
|
||||
"org.bouncycastle" % "bcutil-jdk18on" % "1.76",
|
||||
"org.bouncycastle" % "bcpkix-jdk18on" % "1.76",
|
||||
"org.bouncycastle" % "bcprov-jdk18on" % "1.76",
|
||||
"org.graalvm.llvm" % "llvm-api" % version,
|
||||
"org.graalvm.truffle" % "truffle-nfi" % version,
|
||||
"org.graalvm.truffle" % "truffle-nfi-libffi" % version,
|
||||
"org.graalvm.regex" % "regex" % version,
|
||||
"org.graalvm.tools" % "profiler-tool" % version,
|
||||
"org.graalvm.shadowed" % "json" % version,
|
||||
"org.graalvm.shadowed" % "icu4j" % version,
|
||||
"org.graalvm.shadowed" % "xz" % version
|
||||
)
|
||||
|
||||
val jsPkgs = Seq(
|
||||
"org.graalvm.js" % "js-language" % version,
|
||||
"org.graalvm.regex" % "regex" % version,
|
||||
"org.graalvm.shadowed" % "icu4j" % version
|
||||
)
|
||||
private val jsPkgs =
|
||||
Seq(
|
||||
"org.graalvm.js" % "js-language" % version,
|
||||
"org.graalvm.regex" % "regex" % version,
|
||||
"org.graalvm.shadowed" % "icu4j" % version
|
||||
)
|
||||
|
||||
val chromeInspectorPkgs = Seq(
|
||||
private val chromeInspectorPkgs = Seq(
|
||||
"org.graalvm.tools" % "chromeinspector-tool" % version,
|
||||
"org.graalvm.shadowed" % "json" % version,
|
||||
"org.graalvm.tools" % "profiler-tool" % version
|
||||
)
|
||||
|
||||
val debugAdapterProtocolPkgs = Seq(
|
||||
private val debugAdapterProtocolPkgs = Seq(
|
||||
"org.graalvm.tools" % "dap-tool" % version
|
||||
)
|
||||
|
||||
@ -87,19 +94,23 @@ object GraalVM {
|
||||
"org.graalvm.tools" % "insight-tool" % version
|
||||
)
|
||||
|
||||
val espressoPkgs = if ("espresso".equals(System.getenv("ENSO_JAVA"))) {
|
||||
private val espressoPkgs =
|
||||
Seq(
|
||||
"org.graalvm.truffle" % "truffle-nfi" % version,
|
||||
"org.graalvm.truffle" % "truffle-nfi-libffi" % version,
|
||||
"org.graalvm.espresso" % "espresso-language" % version,
|
||||
"org.graalvm.espresso" % "espresso-libs-resources-linux-amd64" % version,
|
||||
"org.graalvm.espresso" % "espresso-runtime-resources-linux-amd64" % version
|
||||
)
|
||||
} else {
|
||||
Seq()
|
||||
}
|
||||
|
||||
val toolsPkgs = chromeInspectorPkgs ++ debugAdapterProtocolPkgs ++ insightPkgs
|
||||
|
||||
val langsPkgs = jsPkgs ++ pythonPkgs ++ espressoPkgs
|
||||
val langsPkgs =
|
||||
if (isEspressoMode()) {
|
||||
espressoPkgs
|
||||
} else {
|
||||
jsPkgs ++ pythonPkgs
|
||||
}
|
||||
|
||||
private val allowedJavaVendors = Seq(
|
||||
"GraalVM Community",
|
||||
|
@ -8,6 +8,7 @@ import sbtassembly.AssemblyKeys.assembly
|
||||
import sbtassembly.AssemblyPlugin.autoImport.assemblyOutputPath
|
||||
|
||||
import scala.sys.process._
|
||||
import java.nio.file.Paths
|
||||
|
||||
object NativeImage {
|
||||
|
||||
@ -16,6 +17,12 @@ object NativeImage {
|
||||
*/
|
||||
private val includeDebugInfo: Boolean = false
|
||||
|
||||
lazy val smallJdk = taskKey[Option[File]]("Location of a minimal JDK")
|
||||
lazy val additionalCp =
|
||||
taskKey[Seq[String]](
|
||||
"Additional class-path entries to be added to the native image"
|
||||
)
|
||||
|
||||
/** List of classes that should be initialized at build time by the native image.
|
||||
* Note that we strive to initialize as much classes during the native image build
|
||||
* time as possible, as this reduces the time needed to start the native image.
|
||||
@ -70,8 +77,6 @@ object NativeImage {
|
||||
* time initialization is set to default
|
||||
* @param initializeAtBuildtime a list of classes that should be initialized at
|
||||
* build time.
|
||||
* @param additionalCp additional class-path entries to be added to the
|
||||
* native image.
|
||||
* @param includeRuntime Whether `org.enso.runtime` should is included. If yes, then
|
||||
* it will be passed as a module to the native-image along with other
|
||||
* Graal and Truffle related modules.
|
||||
@ -86,24 +91,41 @@ object NativeImage {
|
||||
initializeAtRuntime: Seq[String] = Seq.empty,
|
||||
initializeAtBuildtime: Seq[String] = defaultBuildTimeInitClasses,
|
||||
mainClass: Option[String] = None,
|
||||
additionalCp: Seq[String] = Seq(),
|
||||
verbose: Boolean = false,
|
||||
includeRuntime: Boolean = true
|
||||
): Def.Initialize[Task[Unit]] = Def
|
||||
.task {
|
||||
val log = state.value.log
|
||||
val javaHome = System.getProperty("java.home")
|
||||
val subProjectRoot = baseDirectory.value
|
||||
val nativeImagePath =
|
||||
val log = state.value.log
|
||||
|
||||
def nativeImagePath(prefix: Path)(path: Path): Path = {
|
||||
val base = path.resolve(prefix)
|
||||
if (Platform.isWindows)
|
||||
s"$javaHome\\bin\\native-image.cmd"
|
||||
else s"$javaHome/bin/native-image"
|
||||
base.resolve("native-image.cmd")
|
||||
else base.resolve("native-image")
|
||||
}
|
||||
|
||||
val (javaHome: Path, nativeImagePathResolver) =
|
||||
smallJdk.value
|
||||
.map(f =>
|
||||
(f.toPath(), nativeImagePath(Path.of("lib", "svm", "bin")) _)
|
||||
)
|
||||
.filter { case (p, resolver) => resolver(p).toFile.exists() }
|
||||
.getOrElse(
|
||||
(
|
||||
Paths.get(System.getProperty("java.home")),
|
||||
nativeImagePath(Path.of("bin")) _
|
||||
)
|
||||
)
|
||||
|
||||
log.info("Native image JAVA_HOME: " + javaHome)
|
||||
|
||||
val subProjectRoot = baseDirectory.value
|
||||
val pathToJAR =
|
||||
(assembly / assemblyOutputPath).value.toPath.toAbsolutePath.normalize
|
||||
|
||||
if (!file(nativeImagePath).exists()) {
|
||||
if (!nativeImagePathResolver(javaHome).toFile.exists()) {
|
||||
log.error(
|
||||
"Unexpected: Native Image component not found in the JVM distribution."
|
||||
"Unexpected: Native Image component not found in the JVM distribution: " + javaHome
|
||||
)
|
||||
log.error("Is this a GraalVM distribution?")
|
||||
log.error(
|
||||
@ -184,11 +206,12 @@ object NativeImage {
|
||||
)
|
||||
.map(_.data.getAbsolutePath)
|
||||
|
||||
val auxCp = additionalCp.value
|
||||
val fullCp =
|
||||
if (includeRuntime) {
|
||||
componentModules ++ additionalCp
|
||||
componentModules ++ auxCp
|
||||
} else {
|
||||
ourCp.map(_.data.getAbsolutePath) ++ additionalCp
|
||||
ourCp.map(_.data.getAbsolutePath) ++ auxCp
|
||||
}
|
||||
val cpStr = fullCp.mkString(File.pathSeparator)
|
||||
log.debug("Class-path: " + cpStr)
|
||||
@ -225,7 +248,7 @@ object NativeImage {
|
||||
val newPath = pathParts.mkString(File.pathSeparator)
|
||||
|
||||
val cmd =
|
||||
Seq(nativeImagePath) ++
|
||||
Seq(nativeImagePathResolver(javaHome).toString) ++
|
||||
verboseOpt ++
|
||||
Seq("@" + argFile.toAbsolutePath.toString)
|
||||
|
||||
|
@ -36,7 +36,11 @@ object StdBits {
|
||||
else baseFilter
|
||||
val configFilter: ConfigurationFilter =
|
||||
DependencyFilter.configurationFilter(name = validConfig)
|
||||
val graalVmOrgs = GraalVM.modules.map(_.organization).distinct
|
||||
val graalVmOrgs = if ("espresso".equals(System.getenv("ENSO_JAVA"))) {
|
||||
Seq()
|
||||
} else {
|
||||
GraalVM.modules.map(_.organization).distinct
|
||||
}
|
||||
// All graal related modules must be filtered away - they will be provided in
|
||||
// module-path, and so, they must not be included in std-bits polyglot directories.
|
||||
val graalModuleFilter = DependencyFilter.moduleFilter(
|
||||
|
Loading…
Reference in New Issue
Block a user