Skip to content

Instantly share code, notes, and snippets.

@jonpryor
Last active February 7, 2023 21:35
Show Gist options
  • Save jonpryor/b8233444f2e51043732bea922f6afc81 to your computer and use it in GitHub Desktop.
Save jonpryor/b8233444f2e51043732bea922f6afc81 to your computer and use it in GitHub Desktop.
diff --git a/beg.il b/end.il
index 7be9c831..716d50bc 100644
--- a/beg.il
+++ b/end.il
@@ -83,7 +83,7 @@
.custom instance void [System.Runtime]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 19 4A 61 76 61 2E 49 6E 74 65 72 6F 70 2E // ...Java.Interop.
45 78 70 6F 72 74 2D 54 65 73 74 73 00 00 ) // Export-Tests..
.permissionset reqmin
- = {[System.Runtime]System.Security.Permissions.SecurityPermissionAttribute = {}}
+ = {class 'System.Security.Permissions.SecurityPermissionAttribute, System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' = {}}
.hash algorithm 0x00008004
.ver 7:0:0:76
}
@@ -238,6 +238,1113 @@
.custom instance void [Java.Interop]Java.Interop.JniTypeSignatureAttribute::.ctor(string) = ( 01 00 25 63 6F 6D 2F 78 61 6D 61 72 69 6E 2F 69 // ..%com/xamarin/i
6E 74 65 72 6F 70 2F 65 78 70 6F 72 74 2F 45 78 // nterop/export/Ex
70 6F 72 74 54 79 70 65 00 00 ) // portType..
+ .class auto ansi nested private '__<$>_jni_marshal_methods'
+ extends [System.Runtime]System.Object
+ {
+ .method private hidebysig static native int
+ funcIJavaObject(native int __jnienv,
+ native int __this) cil managed
+ {
+ // Code size 206 (0xce)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [Java.Interop]Java.Interop.JniRuntime/JniValueManager V_2,
+ class Java.InteropTests.ExportTest V_3,
+ [Java.Interop]Java.Interop.JavaObject V_4,
+ [Java.Interop]Java.Interop.JniObjectReference V_5,
+ native int V_6,
+ [System.Runtime]System.Exception V_7)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __th"
+ + "is) => {var __envp;var __jvm;var __vm;var __mret;var __this_val;var __m"
+ + "ret_ref;var __mret_rtn; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: stloc.2
+ IL_0021: ldloc.2
+ IL_0022: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0027: ldloc.2
+ IL_0028: ldarg.1
+ IL_0029: callvirt instance !!0 [Java.Interop]Java.Interop.JniRuntime/JniValueManager::GetValue<class Java.InteropTests.ExportTest>(native int)
+ IL_002e: stloc.3
+ IL_002f: ldloc.3
+ IL_0030: callvirt instance [Java.Interop]Java.Interop.JavaObject Java.InteropTests.ExportTest::FuncIJavaObject()
+ IL_0035: stloc V_4
+ IL_0039: ldnull
+ IL_003a: ldloc V_4
+ IL_003e: ceq
+ IL_0040: brfalse IL_0054
+
+ IL_0045: ldloca V_5
+ IL_0049: initobj [Java.Interop]Java.Interop.JniObjectReference
+ IL_004f: br IL_0062
+
+ IL_0054: nop
+ IL_0055: ldloc V_4
+ IL_0059: callvirt instance [Java.Interop]Java.Interop.JniObjectReference [Java.Interop]Java.Interop.IJavaPeerable::get_PeerReference()
+ IL_005e: stloc V_5
+ IL_0062: nop
+ IL_0063: ldloc V_5
+ IL_0067: call native int [Java.Interop]Java.Interop.JniEnvironment/References::NewReturnToJniRef([Java.Interop]Java.Interop.JniObjectReference)
+ IL_006c: stloc V_6
+ IL_0070: leave IL_00c7
+
+ IL_0075: ldloc V_6
+ IL_0079: leave IL_00c7
+
+ } // end .try
+ filter
+ {
+ IL_007e: isinst [System.Runtime]System.Exception
+ IL_0083: dup
+ IL_0084: brtrue.s IL_008a
+
+ IL_0086: pop
+ IL_0087: ldc.i4.0
+ IL_0088: br.s IL_009b
+
+ IL_008a: stloc V_7
+ IL_008e: ldloc.1
+ IL_008f: ldloc V_7
+ IL_0093: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0098: ldc.i4.0
+ IL_0099: cgt.un
+ IL_009b: endfilter
+ } // end filter
+ { // handler
+ IL_009d: castclass [System.Runtime]System.Exception
+ IL_00a2: stloc V_7
+ IL_00a6: ldloca V_0
+ IL_00aa: ldloc V_7
+ IL_00ae: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_00b3: leave IL_00c7
+
+ IL_00b8: leave IL_00c7
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_00bd: ldloca V_0
+ IL_00c1: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_00c6: endfinally
+ } // end handler
+ IL_00c7: nop
+ IL_00c8: nop
+ IL_00c9: ldloc V_6
+ IL_00cd: ret
+ } // end of method '__<$>_jni_marshal_methods'::funcIJavaObject
+
+ .method private hidebysig static int64
+ funcInt64(native int __jnienv,
+ native int __this) cil managed
+ {
+ // Code size 151 (0x97)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [Java.Interop]Java.Interop.JniRuntime/JniValueManager V_2,
+ class Java.InteropTests.ExportTest V_3,
+ int64 V_4,
+ [System.Runtime]System.Exception V_5)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __th"
+ + "is) => {var __envp;var __jvm;var __vm;var __mret;var __this_val; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: stloc.2
+ IL_0021: ldloc.2
+ IL_0022: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0027: ldloc.2
+ IL_0028: ldarg.1
+ IL_0029: callvirt instance !!0 [Java.Interop]Java.Interop.JniRuntime/JniValueManager::GetValue<class Java.InteropTests.ExportTest>(native int)
+ IL_002e: stloc.3
+ IL_002f: ldloc.3
+ IL_0030: callvirt instance int64 Java.InteropTests.ExportTest::FuncInt64()
+ IL_0035: stloc V_4
+ IL_0039: leave IL_0090
+
+ IL_003e: ldloc V_4
+ IL_0042: leave IL_0090
+
+ } // end .try
+ filter
+ {
+ IL_0047: isinst [System.Runtime]System.Exception
+ IL_004c: dup
+ IL_004d: brtrue.s IL_0053
+
+ IL_004f: pop
+ IL_0050: ldc.i4.0
+ IL_0051: br.s IL_0064
+
+ IL_0053: stloc V_5
+ IL_0057: ldloc.1
+ IL_0058: ldloc V_5
+ IL_005c: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0061: ldc.i4.0
+ IL_0062: cgt.un
+ IL_0064: endfilter
+ } // end filter
+ { // handler
+ IL_0066: castclass [System.Runtime]System.Exception
+ IL_006b: stloc V_5
+ IL_006f: ldloca V_0
+ IL_0073: ldloc V_5
+ IL_0077: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_007c: leave IL_0090
+
+ IL_0081: leave IL_0090
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_0086: ldloca V_0
+ IL_008a: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_008f: endfinally
+ } // end handler
+ IL_0090: nop
+ IL_0091: nop
+ IL_0092: ldloc V_4
+ IL_0096: ret
+ } // end of method '__<$>_jni_marshal_methods'::funcInt64
+
+ .method private hidebysig static void
+ action(native int __jnienv,
+ native int __this) cil managed
+ {
+ // Code size 128 (0x80)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [Java.Interop]Java.Interop.JniRuntime/JniValueManager V_2,
+ class Java.InteropTests.ExportTest V_3,
+ [System.Runtime]System.Exception V_4)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __th"
+ + "is) => {var __envp;var __jvm;var __vm;var __this_val; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: stloc.2
+ IL_0021: ldloc.2
+ IL_0022: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0027: ldloc.2
+ IL_0028: ldarg.1
+ IL_0029: callvirt instance !!0 [Java.Interop]Java.Interop.JniRuntime/JniValueManager::GetValue<class Java.InteropTests.ExportTest>(native int)
+ IL_002e: stloc.3
+ IL_002f: ldloc.3
+ IL_0030: callvirt instance void Java.InteropTests.ExportTest::InstanceAction()
+ IL_0035: leave IL_007e
+
+ } // end .try
+ filter
+ {
+ IL_003a: isinst [System.Runtime]System.Exception
+ IL_003f: dup
+ IL_0040: brtrue.s IL_0046
+
+ IL_0042: pop
+ IL_0043: ldc.i4.0
+ IL_0044: br.s IL_0057
+
+ IL_0046: stloc V_4
+ IL_004a: ldloc.1
+ IL_004b: ldloc V_4
+ IL_004f: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0054: ldc.i4.0
+ IL_0055: cgt.un
+ IL_0057: endfilter
+ } // end filter
+ { // handler
+ IL_0059: castclass [System.Runtime]System.Exception
+ IL_005e: stloc V_4
+ IL_0062: ldloca V_0
+ IL_0066: ldloc V_4
+ IL_006a: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_006f: leave IL_007e
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_0074: ldloca V_0
+ IL_0078: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_007d: endfinally
+ } // end handler
+ IL_007e: nop
+ IL_007f: ret
+ } // end of method '__<$>_jni_marshal_methods'::action
+
+ .method private hidebysig static void
+ actionIJavaObject(native int __jnienv,
+ native int __this,
+ native int test) cil managed
+ {
+ // Code size 143 (0x8f)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [Java.Interop]Java.Interop.JniRuntime/JniValueManager V_2,
+ class Java.InteropTests.ExportTest V_3,
+ [Java.Interop]Java.Interop.JavaObject V_4,
+ [System.Runtime]System.Exception V_5)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __th"
+ + "is, test) => {var __envp;var __jvm;var __vm;var __this_val;var test_val"
+ + "; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: stloc.2
+ IL_0021: ldloc.2
+ IL_0022: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0027: ldloc.2
+ IL_0028: ldarg.1
+ IL_0029: callvirt instance !!0 [Java.Interop]Java.Interop.JniRuntime/JniValueManager::GetValue<class Java.InteropTests.ExportTest>(native int)
+ IL_002e: stloc.3
+ IL_002f: ldloc.2
+ IL_0030: ldarg.2
+ IL_0031: callvirt instance !!0 [Java.Interop]Java.Interop.JniRuntime/JniValueManager::GetValue<[Java.Interop]Java.Interop.JavaObject>(native int)
+ IL_0036: stloc V_4
+ IL_003a: ldloc.3
+ IL_003b: ldloc V_4
+ IL_003f: callvirt instance void Java.InteropTests.ExportTest::InstanceActionIJavaObject([Java.Interop]Java.Interop.JavaObject)
+ IL_0044: leave IL_008d
+
+ } // end .try
+ filter
+ {
+ IL_0049: isinst [System.Runtime]System.Exception
+ IL_004e: dup
+ IL_004f: brtrue.s IL_0055
+
+ IL_0051: pop
+ IL_0052: ldc.i4.0
+ IL_0053: br.s IL_0066
+
+ IL_0055: stloc V_5
+ IL_0059: ldloc.1
+ IL_005a: ldloc V_5
+ IL_005e: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0063: ldc.i4.0
+ IL_0064: cgt.un
+ IL_0066: endfilter
+ } // end filter
+ { // handler
+ IL_0068: castclass [System.Runtime]System.Exception
+ IL_006d: stloc V_5
+ IL_0071: ldloca V_0
+ IL_0075: ldloc V_5
+ IL_0079: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_007e: leave IL_008d
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_0083: ldloca V_0
+ IL_0087: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_008c: endfinally
+ } // end handler
+ IL_008d: nop
+ IL_008e: ret
+ } // end of method '__<$>_jni_marshal_methods'::actionIJavaObject
+
+ .method private hidebysig static void
+ staticAction(native int __jnienv,
+ native int __class) cil managed
+ {
+ // Code size 105 (0x69)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [System.Runtime]System.Exception V_2)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass) => {var __envp;var __jvm; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0025: call void Java.InteropTests.ExportTest::StaticAction()
+ IL_002a: leave IL_0067
+
+ } // end .try
+ filter
+ {
+ IL_002f: isinst [System.Runtime]System.Exception
+ IL_0034: dup
+ IL_0035: brtrue.s IL_003b
+
+ IL_0037: pop
+ IL_0038: ldc.i4.0
+ IL_0039: br.s IL_0046
+
+ IL_003b: stloc.2
+ IL_003c: ldloc.1
+ IL_003d: ldloc.2
+ IL_003e: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0043: ldc.i4.0
+ IL_0044: cgt.un
+ IL_0046: endfilter
+ } // end filter
+ { // handler
+ IL_0048: castclass [System.Runtime]System.Exception
+ IL_004d: stloc.2
+ IL_004e: ldloca V_0
+ IL_0052: ldloc.2
+ IL_0053: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_0058: leave IL_0067
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_005d: ldloca V_0
+ IL_0061: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_0066: endfinally
+ } // end handler
+ IL_0067: nop
+ IL_0068: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticAction
+
+ .method private hidebysig static void
+ staticActionFloat(native int __jnienv,
+ native int __class,
+ float32 f) cil managed
+ {
+ // Code size 106 (0x6a)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [System.Runtime]System.Exception V_2)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass, f) => {var __envp;var __jvm; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0025: ldarg.2
+ IL_0026: call void Java.InteropTests.ExportTest::StaticActionFloat(float32)
+ IL_002b: leave IL_0068
+
+ } // end .try
+ filter
+ {
+ IL_0030: isinst [System.Runtime]System.Exception
+ IL_0035: dup
+ IL_0036: brtrue.s IL_003c
+
+ IL_0038: pop
+ IL_0039: ldc.i4.0
+ IL_003a: br.s IL_0047
+
+ IL_003c: stloc.2
+ IL_003d: ldloc.1
+ IL_003e: ldloc.2
+ IL_003f: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0044: ldc.i4.0
+ IL_0045: cgt.un
+ IL_0047: endfilter
+ } // end filter
+ { // handler
+ IL_0049: castclass [System.Runtime]System.Exception
+ IL_004e: stloc.2
+ IL_004f: ldloca V_0
+ IL_0053: ldloc.2
+ IL_0054: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_0059: leave IL_0068
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_005e: ldloca V_0
+ IL_0062: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_0067: endfinally
+ } // end handler
+ IL_0068: nop
+ IL_0069: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticActionFloat
+
+ .method private hidebysig static void
+ staticActionIJavaObject(native int __jnienv,
+ native int __class,
+ native int test) cil managed
+ {
+ // Code size 128 (0x80)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [Java.Interop]Java.Interop.JniRuntime/JniValueManager V_2,
+ [Java.Interop]Java.Interop.JavaObject V_3,
+ [System.Runtime]System.Exception V_4)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass, test) => {var __envp;var __jvm;var __vm;var test_val; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: stloc.2
+ IL_0021: ldloc.2
+ IL_0022: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0027: ldloc.2
+ IL_0028: ldarg.2
+ IL_0029: callvirt instance !!0 [Java.Interop]Java.Interop.JniRuntime/JniValueManager::GetValue<[Java.Interop]Java.Interop.JavaObject>(native int)
+ IL_002e: stloc.3
+ IL_002f: ldloc.3
+ IL_0030: call void Java.InteropTests.ExportTest::StaticActionIJavaObject([Java.Interop]Java.Interop.JavaObject)
+ IL_0035: leave IL_007e
+
+ } // end .try
+ filter
+ {
+ IL_003a: isinst [System.Runtime]System.Exception
+ IL_003f: dup
+ IL_0040: brtrue.s IL_0046
+
+ IL_0042: pop
+ IL_0043: ldc.i4.0
+ IL_0044: br.s IL_0057
+
+ IL_0046: stloc V_4
+ IL_004a: ldloc.1
+ IL_004b: ldloc V_4
+ IL_004f: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0054: ldc.i4.0
+ IL_0055: cgt.un
+ IL_0057: endfilter
+ } // end filter
+ { // handler
+ IL_0059: castclass [System.Runtime]System.Exception
+ IL_005e: stloc V_4
+ IL_0062: ldloca V_0
+ IL_0066: ldloc V_4
+ IL_006a: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_006f: leave IL_007e
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_0074: ldloca V_0
+ IL_0078: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_007d: endfinally
+ } // end handler
+ IL_007e: nop
+ IL_007f: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticActionIJavaObject
+
+ .method private hidebysig static void
+ staticActionInt(native int __jnienv,
+ native int __class,
+ int32 i) cil managed
+ {
+ // Code size 106 (0x6a)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ [System.Runtime]System.Exception V_2)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass, i) => {var __envp;var __jvm; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0025: ldarg.2
+ IL_0026: call void Java.InteropTests.ExportTest::StaticActionInt(int32)
+ IL_002b: leave IL_0068
+
+ } // end .try
+ filter
+ {
+ IL_0030: isinst [System.Runtime]System.Exception
+ IL_0035: dup
+ IL_0036: brtrue.s IL_003c
+
+ IL_0038: pop
+ IL_0039: ldc.i4.0
+ IL_003a: br.s IL_0047
+
+ IL_003c: stloc.2
+ IL_003d: ldloc.1
+ IL_003e: ldloc.2
+ IL_003f: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0044: ldc.i4.0
+ IL_0045: cgt.un
+ IL_0047: endfilter
+ } // end filter
+ { // handler
+ IL_0049: castclass [System.Runtime]System.Exception
+ IL_004e: stloc.2
+ IL_004f: ldloca V_0
+ IL_0053: ldloc.2
+ IL_0054: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_0059: leave IL_0068
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_005e: ldloca V_0
+ IL_0062: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_0067: endfinally
+ } // end handler
+ IL_0068: nop
+ IL_0069: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticActionInt
+
+ .method private hidebysig static void
+ staticActionInt32String(native int __jnienv,
+ native int __class,
+ int32 i,
+ native int v) cil managed
+ {
+ // Code size 114 (0x72)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ string V_2,
+ [System.Runtime]System.Exception V_3)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass, i, v) => {var __envp;var __jvm;var v_val; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0025: ldarg.3
+ IL_0026: call string [Java.Interop]Java.Interop.JniEnvironment/Strings::ToString(native int)
+ IL_002b: stloc.2
+ IL_002c: ldarg.2
+ IL_002d: ldloc.2
+ IL_002e: call void Java.InteropTests.ExportTest::StaticActionInt32String(int32,
+ string)
+ IL_0033: leave IL_0070
+
+ } // end .try
+ filter
+ {
+ IL_0038: isinst [System.Runtime]System.Exception
+ IL_003d: dup
+ IL_003e: brtrue.s IL_0044
+
+ IL_0040: pop
+ IL_0041: ldc.i4.0
+ IL_0042: br.s IL_004f
+
+ IL_0044: stloc.3
+ IL_0045: ldloc.1
+ IL_0046: ldloc.3
+ IL_0047: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_004c: ldc.i4.0
+ IL_004d: cgt.un
+ IL_004f: endfilter
+ } // end filter
+ { // handler
+ IL_0051: castclass [System.Runtime]System.Exception
+ IL_0056: stloc.3
+ IL_0057: ldloca V_0
+ IL_005b: ldloc.3
+ IL_005c: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_0061: leave IL_0070
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_0066: ldloca V_0
+ IL_006a: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_006f: endfinally
+ } // end handler
+ IL_0070: nop
+ IL_0071: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticActionInt32String
+
+ .method private hidebysig static int32
+ staticFuncMyLegacyColorMyColor_MyColor(native int __jnienv,
+ native int __class,
+ int32 color1,
+ int32 color2) cil managed
+ {
+ // Code size 175 (0xaf)
+ .maxstack 2
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ class Java.InteropTests.MyLegacyColor V_2,
+ class Java.InteropTests.MyColor V_3,
+ class Java.InteropTests.MyColor V_4,
+ int32 V_5,
+ [System.Runtime]System.Exception V_6)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass, color1, color2) => {var __envp;var __jvm;var __mret;var color1_val"
+ + ";var color2_val;var __mret_p; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0025: ldloca V_2
+ IL_0029: ldarg.2
+ IL_002a: call instance void Java.InteropTests.MyLegacyColor::.ctor(int32)
+ IL_002f: ldloca V_3
+ IL_0033: ldarg.3
+ IL_0034: call instance void Java.InteropTests.MyColor::.ctor(int32)
+ IL_0039: ldloc.2
+ IL_003a: ldloc.3
+ IL_003b: call class Java.InteropTests.MyColor Java.InteropTests.ExportTest::StaticFuncMyLegacyColorMyColor_MyColor(class Java.InteropTests.MyLegacyColor,
+ class Java.InteropTests.MyColor)
+ IL_0040: stloc V_4
+ IL_0044: ldloc V_4
+ IL_0048: ldfld int32 Java.InteropTests.MyColor::Value
+ IL_004d: stloc V_5
+ IL_0051: leave IL_00a8
+
+ IL_0056: ldloc V_5
+ IL_005a: leave IL_00a8
+
+ } // end .try
+ filter
+ {
+ IL_005f: isinst [System.Runtime]System.Exception
+ IL_0064: dup
+ IL_0065: brtrue.s IL_006b
+
+ IL_0067: pop
+ IL_0068: ldc.i4.0
+ IL_0069: br.s IL_007c
+
+ IL_006b: stloc V_6
+ IL_006f: ldloc.1
+ IL_0070: ldloc V_6
+ IL_0074: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0079: ldc.i4.0
+ IL_007a: cgt.un
+ IL_007c: endfilter
+ } // end filter
+ { // handler
+ IL_007e: castclass [System.Runtime]System.Exception
+ IL_0083: stloc V_6
+ IL_0087: ldloca V_0
+ IL_008b: ldloc V_6
+ IL_008f: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_0094: leave IL_00a8
+
+ IL_0099: leave IL_00a8
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_009e: ldloca V_0
+ IL_00a2: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_00a7: endfinally
+ } // end handler
+ IL_00a8: nop
+ IL_00a9: nop
+ IL_00aa: ldloc V_5
+ IL_00ae: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticFuncMyLegacyColorMyColor_MyColor
+
+ .method private hidebysig static bool
+ staticFuncThisMethodTakesLotsOfParameters(native int __jnienv,
+ native int __class,
+ bool a,
+ int8 b,
+ char c,
+ int16 d,
+ int32 e,
+ int64 f,
+ float32 g,
+ float64 h,
+ native int i,
+ native int j,
+ native int k,
+ native int l,
+ native int m,
+ float64 n,
+ float32 o,
+ int64 p) cil managed
+ {
+ // Code size 177 (0xb1)
+ .maxstack 16
+ .locals init ([Java.Interop]Java.Interop.JniTransition V_0,
+ [Java.Interop]Java.Interop.JniRuntime V_1,
+ bool V_2,
+ [System.Runtime]System.Exception V_3)
+ IL_0000: ldstr "# jonp: called marshal method for {(__jnienv, __cl"
+ + "ass, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) => {var __envp;var"
+ + " __jvm;var __mret; ... }}"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldloca V_0
+ IL_000e: ldarg.0
+ IL_000f: call instance void [Java.Interop]Java.Interop.JniTransition::.ctor(native int)
+ .try
+ {
+ .try
+ {
+ IL_0014: call [Java.Interop]Java.Interop.JniRuntime [Java.Interop]Java.Interop.JniEnvironment::get_Runtime()
+ IL_0019: stloc.1
+ IL_001a: ldloc.1
+ IL_001b: callvirt instance [Java.Interop]Java.Interop.JniRuntime/JniValueManager [Java.Interop]Java.Interop.JniRuntime::get_ValueManager()
+ IL_0020: callvirt instance void [Java.Interop]Java.Interop.JniRuntime/JniValueManager::WaitForGCBridgeProcessing()
+ IL_0025: ldarg.2
+ IL_0026: ldarg.3
+ IL_0027: ldarg c
+ IL_002b: ldarg d
+ IL_002f: ldarg e
+ IL_0033: ldarg f
+ IL_0037: ldarg g
+ IL_003b: ldarg h
+ IL_003f: ldarg i
+ IL_0043: ldarg j
+ IL_0047: ldarg k
+ IL_004b: ldarg l
+ IL_004f: ldarg m
+ IL_0053: ldarg n
+ IL_0057: ldarg o
+ IL_005b: ldarg p
+ IL_005f: call bool Java.InteropTests.ExportTest::StaticFuncThisMethodTakesLotsOfParameters(bool,
+ int8,
+ char,
+ int16,
+ int32,
+ int64,
+ float32,
+ float64,
+ native int,
+ native int,
+ native int,
+ native int,
+ native int,
+ float64,
+ float32,
+ int64)
+ IL_0064: stloc.2
+ IL_0065: leave IL_00ad
+
+ IL_006a: ldloc.2
+ IL_006b: leave IL_00ad
+
+ } // end .try
+ filter
+ {
+ IL_0070: isinst [System.Runtime]System.Exception
+ IL_0075: dup
+ IL_0076: brtrue.s IL_007c
+
+ IL_0078: pop
+ IL_0079: ldc.i4.0
+ IL_007a: br.s IL_0087
+
+ IL_007c: stloc.3
+ IL_007d: ldloc.1
+ IL_007e: ldloc.3
+ IL_007f: callvirt instance bool [Java.Interop]Java.Interop.JniRuntime::ExceptionShouldTransitionToJni([System.Runtime]System.Exception)
+ IL_0084: ldc.i4.0
+ IL_0085: cgt.un
+ IL_0087: endfilter
+ } // end filter
+ { // handler
+ IL_0089: castclass [System.Runtime]System.Exception
+ IL_008e: stloc.3
+ IL_008f: ldloca V_0
+ IL_0093: ldloc.3
+ IL_0094: call instance void [Java.Interop]Java.Interop.JniTransition::SetPendingException([System.Runtime]System.Exception)
+ IL_0099: leave IL_00ad
+
+ IL_009e: leave IL_00ad
+
+ } // end handler
+ } // end .try
+ finally
+ {
+ IL_00a3: ldloca V_0
+ IL_00a7: call instance void [Java.Interop]Java.Interop.JniTransition::Dispose()
+ IL_00ac: endfinally
+ } // end handler
+ IL_00ad: nop
+ IL_00ae: nop
+ IL_00af: ldloc.2
+ IL_00b0: ret
+ } // end of method '__<$>_jni_marshal_methods'::staticFuncThisMethodTakesLotsOfParameters
+
+ .method private hidebysig static void
+ __RegisterNativeMembers([Java.Interop]Java.Interop.JniNativeMethodRegistrationArguments args) cil managed
+ {
+ .custom instance void [Java.Interop]Java.Interop.JniAddNativeMethodRegistrationAttribute::.ctor() = ( 01 00 00 00 )
+ // Code size 448 (0x1c0)
+ .maxstack 7
+ .locals init ([Java.Interop]Java.Interop.JniNativeMethodRegistration[] V_0)
+ IL_0000: ldstr "# jonp: called __RegisterNativeMembers w/ 11 metho"
+ + "ds to register."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4 0xb
+ IL_000f: newarr [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_0014: dup
+ IL_0015: ldc.i4 0x0
+ IL_001a: ldstr "funcIJavaObject"
+ IL_001f: ldstr "()Ljava/lang/Object;"
+ IL_0024: ldnull
+ IL_0025: ldftn native int Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::funcIJavaObject(native int,
+ native int)
+ IL_002b: newobj instance void _JniMarshal_PP_L::.ctor(object,
+ native int)
+ IL_0030: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_0035: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_003a: dup
+ IL_003b: ldc.i4 0x1
+ IL_0040: ldstr "funcInt64"
+ IL_0045: ldstr "()J"
+ IL_004a: ldnull
+ IL_004b: ldftn int64 Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::funcInt64(native int,
+ native int)
+ IL_0051: newobj instance void _JniMarshal_PP_J::.ctor(object,
+ native int)
+ IL_0056: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_005b: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_0060: dup
+ IL_0061: ldc.i4 0x2
+ IL_0066: ldstr "action"
+ IL_006b: ldstr "()V"
+ IL_0070: ldnull
+ IL_0071: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::action(native int,
+ native int)
+ IL_0077: newobj instance void _JniMarshal_PP_V::.ctor(object,
+ native int)
+ IL_007c: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_0081: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_0086: dup
+ IL_0087: ldc.i4 0x3
+ IL_008c: ldstr "actionIJavaObject"
+ IL_0091: ldstr "(Ljava/lang/Object;)V"
+ IL_0096: ldnull
+ IL_0097: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::actionIJavaObject(native int,
+ native int,
+ native int)
+ IL_009d: newobj instance void _JniMarshal_PPL_V::.ctor(object,
+ native int)
+ IL_00a2: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_00a7: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_00ac: dup
+ IL_00ad: ldc.i4 0x4
+ IL_00b2: ldstr "staticAction"
+ IL_00b7: ldstr "()V"
+ IL_00bc: ldnull
+ IL_00bd: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticAction(native int,
+ native int)
+ IL_00c3: newobj instance void _JniMarshal_PP_V::.ctor(object,
+ native int)
+ IL_00c8: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_00cd: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_00d2: dup
+ IL_00d3: ldc.i4 0x5
+ IL_00d8: ldstr "staticActionFloat"
+ IL_00dd: ldstr "(F)V"
+ IL_00e2: ldnull
+ IL_00e3: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticActionFloat(native int,
+ native int,
+ float32)
+ IL_00e9: newobj instance void _JniMarshal_PPF_V::.ctor(object,
+ native int)
+ IL_00ee: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_00f3: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_00f8: dup
+ IL_00f9: ldc.i4 0x6
+ IL_00fe: ldstr "staticActionIJavaObject"
+ IL_0103: ldstr "(Ljava/lang/Object;)V"
+ IL_0108: ldnull
+ IL_0109: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticActionIJavaObject(native int,
+ native int,
+ native int)
+ IL_010f: newobj instance void _JniMarshal_PPL_V::.ctor(object,
+ native int)
+ IL_0114: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_0119: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_011e: dup
+ IL_011f: ldc.i4 0x7
+ IL_0124: ldstr "staticActionInt"
+ IL_0129: ldstr "(I)V"
+ IL_012e: ldnull
+ IL_012f: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticActionInt(native int,
+ native int,
+ int32)
+ IL_0135: newobj instance void _JniMarshal_PPI_V::.ctor(object,
+ native int)
+ IL_013a: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_013f: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_0144: dup
+ IL_0145: ldc.i4 0x8
+ IL_014a: ldstr "staticActionInt32String"
+ IL_014f: ldstr "(ILjava/lang/String;)V"
+ IL_0154: ldnull
+ IL_0155: ldftn void Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticActionInt32String(native int,
+ native int,
+ int32,
+ native int)
+ IL_015b: newobj instance void _JniMarshal_PPIL_V::.ctor(object,
+ native int)
+ IL_0160: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_0165: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_016a: dup
+ IL_016b: ldc.i4 0x9
+ IL_0170: ldstr "staticFuncMyLegacyColorMyColor_MyColor"
+ IL_0175: ldstr "(II)I"
+ IL_017a: ldnull
+ IL_017b: ldftn int32 Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticFuncMyLegacyColorMyColor_MyColor(native int,
+ native int,
+ int32,
+ int32)
+ IL_0181: newobj instance void _JniMarshal_PPII_I::.ctor(object,
+ native int)
+ IL_0186: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_018b: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_0190: dup
+ IL_0191: ldc.i4 0xa
+ IL_0196: ldstr "staticFuncThisMethodTakesLotsOfParameters"
+ IL_019b: ldstr "(ZBCSIJFDLjava/lang/Object;Ljava/lang/String;Ljava"
+ + "/util/ArrayList;Ljava/lang/String;Ljava/lang/Object;DFJ)Z"
+ IL_01a0: ldnull
+ IL_01a1: ldftn bool Java.InteropTests.ExportTest/'__<$>_jni_marshal_methods'::staticFuncThisMethodTakesLotsOfParameters(native int,
+ native int,
+ bool,
+ int8,
+ char,
+ int16,
+ int32,
+ int64,
+ float32,
+ float64,
+ native int,
+ native int,
+ native int,
+ native int,
+ native int,
+ float64,
+ float32,
+ int64)
+ IL_01a7: newobj instance void _JniMarshal_PPZBCSIJFDLLLLLDFJ_Z::.ctor(object,
+ native int)
+ IL_01ac: newobj instance void [Java.Interop]Java.Interop.JniNativeMethodRegistration::.ctor(string,
+ string,
+ [System.Runtime]System.Delegate)
+ IL_01b1: stelem [Java.Interop]Java.Interop.JniNativeMethodRegistration
+ IL_01b6: stloc.0
+ IL_01b7: ldarga.s args
+ IL_01b9: ldloc.0
+ IL_01ba: call instance void [Java.Interop]Java.Interop.JniNativeMethodRegistrationArguments::AddRegistrations([System.Runtime]System.Collections.Generic.IEnumerable`1<[Java.Interop]Java.Interop.JniNativeMethodRegistration>)
+ IL_01bf: ret
+ } // end of method '__<$>_jni_marshal_methods'::__RegisterNativeMembers
+
+ } // end of class '__<$>_jni_marshal_methods'
+
.field public bool HelloCalled
.field public static bool StaticHelloCalled
.field public static bool StaticActionInt32StringCalled
@@ -2870,6 +3977,149 @@
} // end of class Java.InteropTests.MarshalMemberBuilderTest
+.class private auto autochar sealed _JniMarshal_PP_L
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PP_L::.ctor
+
+ .method public hidebysig newslot virtual
+ instance native int Invoke(native int __jnienv,
+ native int __this) runtime managed
+ {
+ } // end of method _JniMarshal_PP_L::Invoke
+
+} // end of class _JniMarshal_PP_L
+
+.class private auto autochar sealed _JniMarshal_PP_J
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PP_J::.ctor
+
+ .method public hidebysig newslot virtual
+ instance int64 Invoke(native int __jnienv,
+ native int __this) runtime managed
+ {
+ } // end of method _JniMarshal_PP_J::Invoke
+
+} // end of class _JniMarshal_PP_J
+
+.class private auto autochar sealed _JniMarshal_PP_V
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PP_V::.ctor
+
+ .method public hidebysig newslot virtual
+ instance void Invoke(native int __jnienv,
+ native int __this) runtime managed
+ {
+ } // end of method _JniMarshal_PP_V::Invoke
+
+} // end of class _JniMarshal_PP_V
+
+.class private auto autochar sealed _JniMarshal_PPL_V
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PPL_V::.ctor
+
+ .method public hidebysig newslot virtual
+ instance void Invoke(native int __jnienv,
+ native int __this,
+ native int test) runtime managed
+ {
+ } // end of method _JniMarshal_PPL_V::Invoke
+
+} // end of class _JniMarshal_PPL_V
+
+.class private auto autochar sealed _JniMarshal_PPF_V
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PPF_V::.ctor
+
+ .method public hidebysig newslot virtual
+ instance void Invoke(native int __jnienv,
+ native int __class,
+ float32 f) runtime managed
+ {
+ } // end of method _JniMarshal_PPF_V::Invoke
+
+} // end of class _JniMarshal_PPF_V
+
+.class private auto autochar sealed _JniMarshal_PPI_V
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PPI_V::.ctor
+
+ .method public hidebysig newslot virtual
+ instance void Invoke(native int __jnienv,
+ native int __class,
+ int32 i) runtime managed
+ {
+ } // end of method _JniMarshal_PPI_V::Invoke
+
+} // end of class _JniMarshal_PPI_V
+
+.class private auto autochar sealed _JniMarshal_PPIL_V
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PPIL_V::.ctor
+
+ .method public hidebysig newslot virtual
+ instance void Invoke(native int __jnienv,
+ native int __class,
+ int32 i,
+ native int v) runtime managed
+ {
+ } // end of method _JniMarshal_PPIL_V::Invoke
+
+} // end of class _JniMarshal_PPIL_V
+
+.class private auto autochar sealed _JniMarshal_PPII_I
+ extends [System.Runtime]System.MulticastDelegate
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ } // end of method _JniMarshal_PPII_I::.ctor
+
+ .method public hidebysig newslot virtual
+ instance int32 Invoke(native int __jnienv,
+ native int __class,
+ int32 color1,
+ int32 color2) runtime managed
+ {
+ } // end of method _JniMarshal_PPII_I::Invoke
+
+} // end of class _JniMarshal_PPII_I
+
// =============================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment