You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are prototyping a new marshal method generator in xamarin-android
which emits native functions with [JNI native method names][0].
This would remove the need for `Runtime.register()` invocations from
Java Callable Wrappers and all the related Reflection-heavy marshal
method registration code; see 4787e01 for some details for how the
current Reflection approach works.
In order to emit native functions which have the correct names, we
need to know additional information, such as the package name and
type name of the Java `native` method, method signature, etc.
Update `JavaCallableWrapperGenerator` to collect this additional
information, making it available via a new
`JavaCallableWrapperGenerator.OverriddenMethods` property.
[0]: https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/design.html#resolving_native_method_names
Copy file name to clipboardExpand all lines: src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGenerator.cs
thrownewInvalidOperationException($"Unexpected format for method description. Expected at least 2 parts, got {parts.Length} from: '{methodDescription}'");
0 commit comments