feat: add foreign method binding infrastructure with IO library integration
Implement the `WrenBindForeignMethodFn` callback type and `bindForeignMethodFn` configuration field to allow host applications to resolve foreign method declarations at class definition time. Refactor the IO library to use this new binding mechanism instead of the previous `wrenDefineStaticMethod` approach, adding `foreign` keyword support to the lexer and compiler. Introduce `freeCompiler` helper for cleanup, store module names in `ObjModule`, and update the VM to call the binder when processing `CODE_METHOD_INSTANCE` and `CODE_METHOD_STATIC` opcodes for foreign methods.
This commit is contained in:
@@ -93,4 +93,9 @@ class IO {
|
||||
IO.writeString_("[invalid toString]")
|
||||
}
|
||||
}
|
||||
|
||||
foreign static writeString_(string)
|
||||
foreign static clock
|
||||
foreign static time
|
||||
foreign static read
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user