mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2025-08-02 12:50:55 +00:00
ffi: shorthand for some java types
This commit is contained in:
parent
953679b859
commit
540826fb6e
@ -2,7 +2,7 @@ func java_system_err()
|
|||||||
native java "java.lang.System:static-getter:err:java.io.PrintStream"
|
native java "java.lang.System:static-getter:err:java.io.PrintStream"
|
||||||
|
|
||||||
func print_stream_println(stream, line)
|
func print_stream_println(stream, line)
|
||||||
native java "java.io.PrintStream:virtual:println:void:java.lang.String"
|
native java "java.io.PrintStream:virtual:println:void:String"
|
||||||
|
|
||||||
export func main() {
|
export func main() {
|
||||||
let error = java_system_err()
|
let error = java_system_err()
|
||||||
|
@ -13,7 +13,7 @@ class JavaNativeProvider : NativeFunctionProvider {
|
|||||||
val functionDefinition = JavaFunctionDefinition.parse(definition)
|
val functionDefinition = JavaFunctionDefinition.parse(definition)
|
||||||
val javaClass = lookupClass(functionDefinition.type)
|
val javaClass = lookupClass(functionDefinition.type)
|
||||||
val returnTypeClass = lookupClass(functionDefinition.returnType)
|
val returnTypeClass = lookupClass(functionDefinition.returnType)
|
||||||
val parameterClasses = functionDefinition.parameters.map { lookup.findClass(it) }
|
val parameterClasses = functionDefinition.parameters.map { lookupClass(it) }
|
||||||
val handle = mapKindToHandle(
|
val handle = mapKindToHandle(
|
||||||
functionDefinition.kind,
|
functionDefinition.kind,
|
||||||
functionDefinition.symbol,
|
functionDefinition.symbol,
|
||||||
@ -26,6 +26,12 @@ class JavaNativeProvider : NativeFunctionProvider {
|
|||||||
|
|
||||||
private fun lookupClass(name: String): Class<*> = when (name) {
|
private fun lookupClass(name: String): Class<*> = when (name) {
|
||||||
"void" -> Void.TYPE
|
"void" -> Void.TYPE
|
||||||
|
"String" -> String::class.java
|
||||||
|
"byte" -> Byte::class.java
|
||||||
|
"char" -> Char::class.java
|
||||||
|
"short" -> Short::class.java
|
||||||
|
"int" -> Int::class.java
|
||||||
|
"long" -> Long::class.java
|
||||||
else -> lookup.findClass(name)
|
else -> lookup.findClass(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user