[jnimarshalmethod-gen] Finish support of delegates for methods with 15+ parameters #709
Labels
callable-wrappers
Issues with Java Callable Wrappers
enhancement
Proposed change to current functionality
Commit 857b9a9 introduced the support of 15+ parameters methods. The changes in
jnimarshalmethod-gen
are incomplete though and we end up with a generated code, which uses reflection to get a type, which doesn't exist.Like the generated code here (from
Mono.Android-JniMarshalMethods.dll
):It happens, because the
Delegate18$1
type is created by SLE on the fly and exists in memory only.jnimarshalmethod-gen
doesn't know about that yet.We need to save the in-memory-only type to our marshaling class and change the name to reflect the parameter types.
Currently the in-memory-only type is placed in Snippets assembly. An example:
We should save the type from the example to the assembly containing the marshaling
__<$>_jni_marshal_methods
class and name it something like__<$>_JniMarshal_PPIIIIIIIIIIIIIII_V
or maybe to be more consistent as__<$>_jni_marshal_PPIIIIIIIIIIIIIII_V
. And also update the generated code to use it.The text was updated successfully, but these errors were encountered: