Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2687f80

Browse files
committed
Modified the generator tool so that it no longer adds a 'new' modifier to internal fields (like class_ref) when the class's base is in an external assembly.
- This prevents a CS0109 warnings during binding generation. - Updated expected generator output files for existing tests. - Added two new tests that verify the expected output when the base class is in an external assembly and when the base class is in the same assembly as the derived class.
1 parent 93df5a2 commit 2687f80

17 files changed

+2219
-26
lines changed

Java.Interop.sln

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ VisualStudioVersion = 16.0.29424.173
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{C8F58966-94BF-407F-914A-8654F8B8AE3B}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.Tools.JniMarshalMethodGenerator", "tools\jnimarshalmethod-gen\Xamarin.Android.Tools.JniMarshalMethodGenerator.csproj", "{D1295A8F-4F42-461D-A046-564476C10002}"
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.JniMarshalMethodGenerator", "tools\jnimarshalmethod-gen\Xamarin.Android.Tools.JniMarshalMethodGenerator.csproj", "{D1295A8F-4F42-461D-A046-564476C10002}"
99
EndProject
10-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "logcat-parse", "tools\logcat-parse\logcat-parse.csproj", "{7387E151-48E3-4885-B2CA-A74434A34045}"
10+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "logcat-parse", "tools\logcat-parse\logcat-parse.csproj", "{7387E151-48E3-4885-B2CA-A74434A34045}"
1111
EndProject
12-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "class-parse", "tools\class-parse\class-parse.csproj", "{38C762AB-8FD1-44DE-9855-26AAE7129DC3}"
12+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "class-parse", "tools\class-parse\class-parse.csproj", "{38C762AB-8FD1-44DE-9855-26AAE7129DC3}"
1313
EndProject
14-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "tools\generator\generator.csproj", "{D14A1B5C-2060-4930-92BE-F7190256C735}"
14+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "generator", "tools\generator\generator.csproj", "{D14A1B5C-2060-4930-92BE-F7190256C735}"
1515
EndProject
1616
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{4C173212-371D-45D8-BA83-9226194F48DC}"
1717
EndProject
@@ -59,11 +59,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "generator-Tests", "tests\ge
5959
EndProject
6060
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{D5A93398-AEB1-49F3-89DC-3904A47DB0C7}"
6161
EndProject
62-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hello", "samples\Hello\Hello.csproj", "{F3ECB73D-9263-4E42-A5B4-3FC0D1D829F9}"
62+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hello", "samples\Hello\Hello.csproj", "{F3ECB73D-9263-4E42-A5B4-3FC0D1D829F9}"
6363
EndProject
6464
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build-Tools", "Build-Tools", "{172B608B-E6F3-41CC-9949-203A76BA247C}"
6565
EndProject
66-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "jnienv-gen", "build-tools\jnienv-gen\jnienv-gen.csproj", "{6410DA0F-5E14-4FC0-9AEE-F4C542C96C7A}"
66+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "jnienv-gen", "build-tools\jnienv-gen\jnienv-gen.csproj", "{6410DA0F-5E14-4FC0-9AEE-F4C542C96C7A}"
6767
EndProject
6868
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Java.Interop.NamingCustomAttributes", "src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.shproj", "{FE789F04-5E95-42C5-AEF1-E33F8DF06B3F}"
6969
EndProject
@@ -73,7 +73,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.Tools.Cecil",
7373
EndProject
7474
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.Tools.Diagnostics", "src\Java.Interop.Tools.Diagnostics\Java.Interop.Tools.Diagnostics.csproj", "{64CC4E44-CE3A-4319-BF3F-6CF8BD513870}"
7575
EndProject
76-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "jcw-gen", "tools\jcw-gen\jcw-gen.csproj", "{52C7D9B6-E8C8-47D0-9471-652D278D7D77}"
76+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "jcw-gen", "tools\jcw-gen\jcw-gen.csproj", "{52C7D9B6-E8C8-47D0-9471-652D278D7D77}"
7777
EndProject
7878
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.Tools.JavaCallableWrappers-Tests", "tests\Java.Interop.Tools.JavaCallableWrappers-Tests\Java.Interop.Tools.JavaCallableWrappers-Tests.csproj", "{58B564A1-570D-4DA2-B02D-25BDDB1A9F4F}"
7979
EndProject
@@ -89,8 +89,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "param-name-importer", "tool
8989
EndProject
9090
Global
9191
GlobalSection(SharedMSBuildProjectFiles) = preSolution
92-
src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{58b564a1-570d-4da2-b02d-25bddb1a9f4f}*SharedItemsImports = 4
93-
src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{d1295a8f-4f42-461d-a046-564476c10002}*SharedItemsImports = 4
92+
src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{58b564a1-570d-4da2-b02d-25bddb1a9f4f}*SharedItemsImports = 5
93+
src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{d1295a8f-4f42-461d-a046-564476c10002}*SharedItemsImports = 5
94+
src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{d18fcf91-8876-48a0-a693-2dc1e7d3d80a}*SharedItemsImports = 5
9495
src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{fe789f04-5e95-42c5-aef1-e33f8df06b3f}*SharedItemsImports = 13
9596
EndGlobalSection
9697
GlobalSection(SolutionConfigurationPlatforms) = preSolution

tests/generator-Tests/Unit-Tests/CodeGeneratorExpectedResults/JavaInterop1/WriteClass.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public partial class MyClass {
44

55
static readonly JniPeerMembers _members = new JniPeerMembers ("java/code/MyClass", typeof (MyClass));
6-
internal static new IntPtr class_ref {
6+
internal static IntPtr class_ref {
77
get {
88
return _members.JniPeerType.PeerReference.Handle;
99
}
Lines changed: 337 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
// Metadata.xml XPath class reference: path="/api/package[@name='java.code']/class[@name='MyClass']"
2+
[global::Android.Runtime.Register ("java/code/MyClass", DoNotGenerateAcw=true)]
3+
public partial class MyClass : Java.Lang.Object {
4+
5+
static readonly JniPeerMembers _members = new JniPeerMembers ("java/code/MyClass", typeof (MyClass));
6+
internal static IntPtr class_ref {
7+
get {
8+
return _members.JniPeerType.PeerReference.Handle;
9+
}
10+
}
11+
12+
public override global::Java.Interop.JniPeerMembers JniPeerMembers {
13+
get { return _members; }
14+
}
15+
16+
protected override IntPtr ThresholdClass {
17+
get { return _members.JniPeerType.PeerReference.Handle; }
18+
}
19+
20+
protected override global::System.Type ThresholdType {
21+
get { return _members.ManagedPeerType; }
22+
}
23+
24+
protected MyClass (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer) {}
25+
26+
// Metadata.xml XPath constructor reference: path="/api/package[@name='java.code']/class[@name='MyClass']/constructor[@name='MyClass' and count(parameter)=0]"
27+
[Register (".ctor", "()V", "")]
28+
unsafe MyClass ()
29+
: base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
30+
{
31+
const string __id = "()V";
32+
33+
if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
34+
return;
35+
36+
try {
37+
var __r = _members.InstanceMethods.StartCreateInstance (__id, ((object) this).GetType (), null);
38+
SetHandle (__r.Handle, JniHandleOwnership.TransferLocalRef);
39+
_members.InstanceMethods.FinishCreateInstance (__id, this, null);
40+
} finally {
41+
}
42+
}
43+
44+
// Metadata.xml XPath constructor reference: path="/api/package[@name='java.code']/class[@name='MyClass']/constructor[@name='MyClass' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
45+
[Register (".ctor", "(Ljava/lang/String;)V", "")]
46+
unsafe MyClass (string p0)
47+
: base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
48+
{
49+
const string __id = "(Ljava/lang/String;)V";
50+
51+
if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
52+
return;
53+
54+
IntPtr native_p0 = JNIEnv.NewString (p0);
55+
try {
56+
JniArgumentValue* __args = stackalloc JniArgumentValue [1];
57+
__args [0] = new JniArgumentValue (native_p0);
58+
var __r = _members.InstanceMethods.StartCreateInstance (__id, ((object) this).GetType (), __args);
59+
SetHandle (__r.Handle, JniHandleOwnership.TransferLocalRef);
60+
_members.InstanceMethods.FinishCreateInstance (__id, this, __args);
61+
} finally {
62+
JNIEnv.DeleteLocalRef (native_p0);
63+
}
64+
}
65+
66+
static Delegate cb_get_Count;
67+
#pragma warning disable 0169
68+
static Delegate Getget_CountHandler ()
69+
{
70+
if (cb_get_Count == null)
71+
cb_get_Count = JNINativeWrapper.CreateDelegate ((Func<IntPtr, IntPtr, int>) n_get_Count);
72+
return cb_get_Count;
73+
}
74+
75+
static int n_get_Count (IntPtr jnienv, IntPtr native__this)
76+
{
77+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
78+
return __this.Count;
79+
}
80+
#pragma warning restore 0169
81+
82+
static Delegate cb_set_Count_I;
83+
#pragma warning disable 0169
84+
static Delegate Getset_Count_IHandler ()
85+
{
86+
if (cb_set_Count_I == null)
87+
cb_set_Count_I = JNINativeWrapper.CreateDelegate ((Action<IntPtr, IntPtr, int>) n_set_Count_I);
88+
return cb_set_Count_I;
89+
}
90+
91+
static void n_set_Count_I (IntPtr jnienv, IntPtr native__this, int value)
92+
{
93+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
94+
__this.Count = value;
95+
}
96+
#pragma warning restore 0169
97+
98+
public virtual unsafe int Count {
99+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='get_Count' and count(parameter)=0]"
100+
[Register ("get_Count", "()I", "Getget_CountHandler")]
101+
get {
102+
const string __id = "get_Count.()I";
103+
try {
104+
var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, null);
105+
return __rm;
106+
} finally {
107+
}
108+
}
109+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='set_Count' and count(parameter)=1 and parameter[1][@type='int']]"
110+
[Register ("set_Count", "(I)V", "Getset_Count_IHandler")]
111+
set {
112+
const string __id = "set_Count.(I)V";
113+
try {
114+
JniArgumentValue* __args = stackalloc JniArgumentValue [1];
115+
__args [0] = new JniArgumentValue (value);
116+
_members.InstanceMethods.InvokeVirtualVoidMethod (__id, this, __args);
117+
} finally {
118+
}
119+
}
120+
}
121+
122+
static Delegate cb_get_Key;
123+
#pragma warning disable 0169
124+
static Delegate Getget_KeyHandler ()
125+
{
126+
if (cb_get_Key == null)
127+
cb_get_Key = JNINativeWrapper.CreateDelegate ((Func<IntPtr, IntPtr, IntPtr>) n_get_Key);
128+
return cb_get_Key;
129+
}
130+
131+
static IntPtr n_get_Key (IntPtr jnienv, IntPtr native__this)
132+
{
133+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
134+
return JNIEnv.NewString (__this.Key);
135+
}
136+
#pragma warning restore 0169
137+
138+
static Delegate cb_set_Key_Ljava_lang_String_;
139+
#pragma warning disable 0169
140+
static Delegate Getset_Key_Ljava_lang_String_Handler ()
141+
{
142+
if (cb_set_Key_Ljava_lang_String_ == null)
143+
cb_set_Key_Ljava_lang_String_ = JNINativeWrapper.CreateDelegate ((Action<IntPtr, IntPtr, IntPtr>) n_set_Key_Ljava_lang_String_);
144+
return cb_set_Key_Ljava_lang_String_;
145+
}
146+
147+
static void n_set_Key_Ljava_lang_String_ (IntPtr jnienv, IntPtr native__this, IntPtr native_value)
148+
{
149+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
150+
var value = JNIEnv.GetString (native_value, JniHandleOwnership.DoNotTransfer);
151+
__this.Key = value;
152+
}
153+
#pragma warning restore 0169
154+
155+
public virtual unsafe string Key {
156+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='get_Key' and count(parameter)=0]"
157+
[Register ("get_Key", "()Ljava/lang/String;", "Getget_KeyHandler")]
158+
get {
159+
const string __id = "get_Key.()Ljava/lang/String;";
160+
try {
161+
var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
162+
return JNIEnv.GetString (__rm.Handle, JniHandleOwnership.TransferLocalRef);
163+
} finally {
164+
}
165+
}
166+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='set_Key' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
167+
[Register ("set_Key", "(Ljava/lang/String;)V", "Getset_Key_Ljava_lang_String_Handler")]
168+
set {
169+
const string __id = "set_Key.(Ljava/lang/String;)V";
170+
IntPtr native_value = JNIEnv.NewString (value);
171+
try {
172+
JniArgumentValue* __args = stackalloc JniArgumentValue [1];
173+
__args [0] = new JniArgumentValue (native_value);
174+
_members.InstanceMethods.InvokeVirtualVoidMethod (__id, this, __args);
175+
} finally {
176+
JNIEnv.DeleteLocalRef (native_value);
177+
}
178+
}
179+
}
180+
181+
public static unsafe int StaticCount {
182+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='get_StaticCount' and count(parameter)=0]"
183+
[Register ("get_StaticCount", "()I", "")]
184+
get {
185+
const string __id = "get_StaticCount.()I";
186+
try {
187+
var __rm = _members.StaticMethods.InvokeInt32Method (__id, null);
188+
return __rm;
189+
} finally {
190+
}
191+
}
192+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='set_StaticCount' and count(parameter)=1 and parameter[1][@type='int']]"
193+
[Register ("set_StaticCount", "(I)V", "")]
194+
set {
195+
const string __id = "set_StaticCount.(I)V";
196+
try {
197+
JniArgumentValue* __args = stackalloc JniArgumentValue [1];
198+
__args [0] = new JniArgumentValue (value);
199+
_members.StaticMethods.InvokeVoidMethod (__id, __args);
200+
} finally {
201+
}
202+
}
203+
}
204+
205+
static Delegate cb_get_AbstractCount;
206+
#pragma warning disable 0169
207+
static Delegate Getget_AbstractCountHandler ()
208+
{
209+
if (cb_get_AbstractCount == null)
210+
cb_get_AbstractCount = JNINativeWrapper.CreateDelegate ((Func<IntPtr, IntPtr, int>) n_get_AbstractCount);
211+
return cb_get_AbstractCount;
212+
}
213+
214+
static int n_get_AbstractCount (IntPtr jnienv, IntPtr native__this)
215+
{
216+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
217+
return __this.AbstractCount;
218+
}
219+
#pragma warning restore 0169
220+
221+
static Delegate cb_set_AbstractCount_I;
222+
#pragma warning disable 0169
223+
static Delegate Getset_AbstractCount_IHandler ()
224+
{
225+
if (cb_set_AbstractCount_I == null)
226+
cb_set_AbstractCount_I = JNINativeWrapper.CreateDelegate ((Action<IntPtr, IntPtr, int>) n_set_AbstractCount_I);
227+
return cb_set_AbstractCount_I;
228+
}
229+
230+
static void n_set_AbstractCount_I (IntPtr jnienv, IntPtr native__this, int value)
231+
{
232+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
233+
__this.AbstractCount = value;
234+
}
235+
#pragma warning restore 0169
236+
237+
public abstract int AbstractCount {
238+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='get_AbstractCount' and count(parameter)=0]"
239+
[Register ("get_AbstractCount", "()I", "Getget_AbstractCountHandler")] get;
240+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='set_AbstractCount' and count(parameter)=1 and parameter[1][@type='int']]"
241+
[Register ("set_AbstractCount", "(I)V", "Getset_AbstractCount_IHandler")] set;
242+
}
243+
244+
static Delegate cb_GetCountForKey_Ljava_lang_String_;
245+
#pragma warning disable 0169
246+
static Delegate GetGetCountForKey_Ljava_lang_String_Handler ()
247+
{
248+
if (cb_GetCountForKey_Ljava_lang_String_ == null)
249+
cb_GetCountForKey_Ljava_lang_String_ = JNINativeWrapper.CreateDelegate ((Func<IntPtr, IntPtr, IntPtr, int>) n_GetCountForKey_Ljava_lang_String_);
250+
return cb_GetCountForKey_Ljava_lang_String_;
251+
}
252+
253+
static int n_GetCountForKey_Ljava_lang_String_ (IntPtr jnienv, IntPtr native__this, IntPtr native_key)
254+
{
255+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
256+
var key = JNIEnv.GetString (native_key, JniHandleOwnership.DoNotTransfer);
257+
int __ret = __this.GetCountForKey (key);
258+
return __ret;
259+
}
260+
#pragma warning restore 0169
261+
262+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='GetCountForKey' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
263+
[Register ("GetCountForKey", "(Ljava/lang/String;)I", "GetGetCountForKey_Ljava_lang_String_Handler")]
264+
public virtual unsafe int GetCountForKey (string key)
265+
{
266+
const string __id = "GetCountForKey.(Ljava/lang/String;)I";
267+
IntPtr native_key = JNIEnv.NewString (key);
268+
try {
269+
JniArgumentValue* __args = stackalloc JniArgumentValue [1];
270+
__args [0] = new JniArgumentValue (native_key);
271+
var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
272+
return __rm;
273+
} finally {
274+
JNIEnv.DeleteLocalRef (native_key);
275+
}
276+
}
277+
278+
static Delegate cb_Key;
279+
#pragma warning disable 0169
280+
static Delegate GetKeyHandler ()
281+
{
282+
if (cb_Key == null)
283+
cb_Key = JNINativeWrapper.CreateDelegate ((Func<IntPtr, IntPtr, IntPtr>) n_Key);
284+
return cb_Key;
285+
}
286+
287+
static IntPtr n_Key (IntPtr jnienv, IntPtr native__this)
288+
{
289+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
290+
return JNIEnv.NewString (__this.Key ());
291+
}
292+
#pragma warning restore 0169
293+
294+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='Key' and count(parameter)=0]"
295+
[Register ("Key", "()Ljava/lang/String;", "GetKeyHandler")]
296+
public virtual unsafe string Key ()
297+
{
298+
const string __id = "Key.()Ljava/lang/String;";
299+
try {
300+
var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
301+
return JNIEnv.GetString (__rm.Handle, JniHandleOwnership.TransferLocalRef);
302+
} finally {
303+
}
304+
}
305+
306+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='StaticMethod' and count(parameter)=0]"
307+
[Register ("StaticMethod", "()V", "")]
308+
public static unsafe void StaticMethod ()
309+
{
310+
const string __id = "StaticMethod.()V";
311+
try {
312+
_members.StaticMethods.InvokeVoidMethod (__id, null);
313+
} finally {
314+
}
315+
}
316+
317+
static Delegate cb_AbstractMethod;
318+
#pragma warning disable 0169
319+
static Delegate GetAbstractMethodHandler ()
320+
{
321+
if (cb_AbstractMethod == null)
322+
cb_AbstractMethod = JNINativeWrapper.CreateDelegate ((Action<IntPtr, IntPtr>) n_AbstractMethod);
323+
return cb_AbstractMethod;
324+
}
325+
326+
static void n_AbstractMethod (IntPtr jnienv, IntPtr native__this)
327+
{
328+
var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
329+
__this.AbstractMethod ();
330+
}
331+
#pragma warning restore 0169
332+
333+
// Metadata.xml XPath method reference: path="/api/package[@name='java.code']/class[@name='MyClass']/method[@name='AbstractMethod' and count(parameter)=0]"
334+
[Register ("AbstractMethod", "()V", "GetAbstractMethodHandler")]
335+
public abstract void AbstractMethod ();
336+
337+
}

0 commit comments

Comments
 (0)