mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2025-08-03 13:11:32 +00:00
ffi: migrate to java.lang.foreign and require Java 21
This commit is contained in:
@ -18,6 +18,8 @@ dependencies {
|
||||
application {
|
||||
applicationName = "pork-rt"
|
||||
mainClass.set("gay.pizza.pork.minimal.MainKt")
|
||||
applicationDefaultJvmArgs += "-XstartOnFirstThread"
|
||||
applicationDefaultJvmArgs += "--enable-native-access=ALL-UNNAMED"
|
||||
}
|
||||
|
||||
for (task in arrayOf(tasks.shadowDistTar, tasks.shadowDistZip, tasks.shadowJar)) {
|
||||
|
@ -4,9 +4,9 @@ import gay.pizza.pork.ast.CompilationUnit
|
||||
import gay.pizza.pork.ast.NodeVisitor
|
||||
import gay.pizza.pork.ast.visit
|
||||
import gay.pizza.pork.evaluator.*
|
||||
import gay.pizza.pork.ffi.FfiNativeProvider
|
||||
import gay.pizza.pork.ffi.JavaAutogenContentSource
|
||||
import gay.pizza.pork.ffi.JavaNativeProvider
|
||||
import gay.pizza.pork.ffi.JnaNativeProvider
|
||||
import gay.pizza.pork.frontend.ContentSource
|
||||
import gay.pizza.pork.frontend.ImportLocator
|
||||
import gay.pizza.pork.frontend.DynamicImportSource
|
||||
@ -55,7 +55,7 @@ abstract class Tool {
|
||||
fun run(scope: Scope, quiet: Boolean = false) {
|
||||
val main = loadMainFunction(scope, setupEvaluator = {
|
||||
addNativeProvider("internal", InternalNativeProvider(quiet = quiet))
|
||||
addNativeProvider("ffi", JnaNativeProvider())
|
||||
addNativeProvider("ffi", FfiNativeProvider())
|
||||
addNativeProvider("java", JavaNativeProvider())
|
||||
})
|
||||
main.call(emptyList(), CallStack())
|
||||
|
Reference in New Issue
Block a user