Skip to content

Commit 93df5a2

Browse files
authored
[generator] simplify life with 'var' in generated code (#621)
Context: dotnet/android#4227 Our generated code *may* predate `var`, or at least predate `var` becoming widely accepted. As such, we generate code like this: java.code.MyClass __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer); string key = JNIEnv.GetString (native_key, JniHandleOwnership.DoNotTransfer); Migrate this code to `var` as it simplifies `generator` and reasoning about behavior when "cross-compiling" code between C#7 and C#8-with- [Nullable Reference Type][0] toolchains: var __this = global::Java.Lang.Object.GetObject<java.code.MyClass> (jnienv, native__this, JniHandleOwnership.DoNotTransfer); var key = JNIEnv.GetString (native_key, JniHandleOwnership.DoNotTransfer); [0]: https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references
1 parent 80b4667 commit 93df5a2

File tree

178 files changed

+531
-529
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+531
-529
lines changed

tests/generator-Tests/Tests-Core/expected.cp/Java.Interop.__TypeRegistrations.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static void RegisterPackages ()
2727

2828
static Type Lookup (string[] mappings, string javaType)
2929
{
30-
string managedType = Java.Interop.TypeManager.LookupTypeMapping (mappings, javaType);
30+
var managedType = Java.Interop.TypeManager.LookupTypeMapping (mappings, javaType);
3131
if (managedType == null)
3232
return null;
3333
return Type.GetType (managedType);

tests/generator-Tests/Tests-Core/expected.ji/Android.Text.ISpannable.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
7373

7474
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_tag)
7575
{
76-
Android.Text.ISpannable __this = global::Java.Lang.Object.GetObject<Android.Text.ISpannable> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
77-
Java.Lang.Object tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
76+
var __this = global::Java.Lang.Object.GetObject<Android.Text.ISpannable> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
77+
var tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
7878
int __ret = (int) __this.GetSpanFlags (tag);
7979
return __ret;
8080
}
@@ -87,7 +87,7 @@ public unsafe Android.Text.SpanTypes GetSpanFlags (Java.Lang.Object tag)
8787
id_getSpanFlags_Ljava_lang_Object_ = JNIEnv.GetMethodID (class_ref, "getSpanFlags", "(Ljava/lang/Object;)I");
8888
JValue* __args = stackalloc JValue [1];
8989
__args [0] = new JValue ((tag == null) ? IntPtr.Zero : ((global::Java.Lang.Object) tag).Handle);
90-
Android.Text.SpanTypes __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
90+
var __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
9191
return __ret;
9292
}
9393

tests/generator-Tests/Tests-Core/expected.ji/Android.Text.ISpanned.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
7878

7979
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_tag)
8080
{
81-
Android.Text.ISpanned __this = global::Java.Lang.Object.GetObject<Android.Text.ISpanned> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
82-
Java.Lang.Object tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
81+
var __this = global::Java.Lang.Object.GetObject<Android.Text.ISpanned> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
82+
var tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
8383
int __ret = (int) __this.GetSpanFlags (tag);
8484
return __ret;
8585
}
@@ -92,7 +92,7 @@ public unsafe Android.Text.SpanTypes GetSpanFlags (Java.Lang.Object tag)
9292
id_getSpanFlags_Ljava_lang_Object_ = JNIEnv.GetMethodID (class_ref, "getSpanFlags", "(Ljava/lang/Object;)I");
9393
JValue* __args = stackalloc JValue [1];
9494
__args [0] = new JValue ((tag == null) ? IntPtr.Zero : ((global::Java.Lang.Object) tag).Handle);
95-
Android.Text.SpanTypes __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
95+
var __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
9696
return __ret;
9797
}
9898

tests/generator-Tests/Tests-Core/expected.ji/Android.Text.SpannableString.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
8484

8585
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_what)
8686
{
87-
Android.Text.SpannableString __this = global::Java.Lang.Object.GetObject<Android.Text.SpannableString> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
88-
Java.Lang.Object what = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_what, JniHandleOwnership.DoNotTransfer);
87+
var __this = global::Java.Lang.Object.GetObject<Android.Text.SpannableString> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
88+
var what = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_what, JniHandleOwnership.DoNotTransfer);
8989
int __ret = (int) __this.GetSpanFlags (what);
9090
return __ret;
9191
}

tests/generator-Tests/Tests-Core/expected.ji/Android.Text.SpannableStringInternal.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
4141

4242
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
4343
{
44-
Android.Text.SpannableStringInternal __this = global::Java.Lang.Object.GetObject<Android.Text.SpannableStringInternal> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
45-
Java.Lang.Object p0 = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_p0, JniHandleOwnership.DoNotTransfer);
44+
var __this = global::Java.Lang.Object.GetObject<Android.Text.SpannableStringInternal> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
45+
var p0 = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_p0, JniHandleOwnership.DoNotTransfer);
4646
int __ret = (int) __this.GetSpanFlags (p0);
4747
return __ret;
4848
}

tests/generator-Tests/Tests-Core/expected.ji/Android.Views.View.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ static Delegate GetOnClick_Landroid_view_View_Handler ()
8181

8282
static void n_OnClick_Landroid_view_View_ (IntPtr jnienv, IntPtr native__this, IntPtr native_v)
8383
{
84-
Android.Views.View.IOnClickListener __this = global::Java.Lang.Object.GetObject<Android.Views.View.IOnClickListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
85-
Android.Views.View v = global::Java.Lang.Object.GetObject<Android.Views.View> (native_v, JniHandleOwnership.DoNotTransfer);
84+
var __this = global::Java.Lang.Object.GetObject<Android.Views.View.IOnClickListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
85+
var v = global::Java.Lang.Object.GetObject<Android.Views.View> (native_v, JniHandleOwnership.DoNotTransfer);
8686
__this.OnClick (v);
8787
}
8888
#pragma warning restore 0169
@@ -160,8 +160,8 @@ static Delegate GetSetOnClickListener_Landroid_view_View_OnClickListener_Handler
160160

161161
static void n_SetOnClickListener_Landroid_view_View_OnClickListener_ (IntPtr jnienv, IntPtr native__this, IntPtr native_l)
162162
{
163-
Android.Views.View __this = global::Java.Lang.Object.GetObject<Android.Views.View> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
164-
Android.Views.View.IOnClickListener l = (Android.Views.View.IOnClickListener)global::Java.Lang.Object.GetObject<Android.Views.View.IOnClickListener> (native_l, JniHandleOwnership.DoNotTransfer);
163+
var __this = global::Java.Lang.Object.GetObject<Android.Views.View> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
164+
var l = (Android.Views.View.IOnClickListener)global::Java.Lang.Object.GetObject<Android.Views.View.IOnClickListener> (native_l, JniHandleOwnership.DoNotTransfer);
165165
__this.SetOnClickListener (l);
166166
}
167167
#pragma warning restore 0169
@@ -190,8 +190,8 @@ static Delegate GetSetOn123Listener_Landroid_view_View_OnClickListener_Handler (
190190

191191
static void n_SetOn123Listener_Landroid_view_View_OnClickListener_ (IntPtr jnienv, IntPtr native__this, IntPtr native_l)
192192
{
193-
Android.Views.View __this = global::Java.Lang.Object.GetObject<Android.Views.View> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
194-
Android.Views.View.IOnClickListener l = (Android.Views.View.IOnClickListener)global::Java.Lang.Object.GetObject<Android.Views.View.IOnClickListener> (native_l, JniHandleOwnership.DoNotTransfer);
193+
var __this = global::Java.Lang.Object.GetObject<Android.Views.View> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
194+
var l = (Android.Views.View.IOnClickListener)global::Java.Lang.Object.GetObject<Android.Views.View.IOnClickListener> (native_l, JniHandleOwnership.DoNotTransfer);
195195
__this.SetOn123Listener (l);
196196
}
197197
#pragma warning restore 0169
@@ -220,7 +220,7 @@ static Delegate GetAddTouchables_Ljava_util_ArrayList_Handler ()
220220

221221
static void n_AddTouchables_Ljava_util_ArrayList_ (IntPtr jnienv, IntPtr native__this, IntPtr native_views)
222222
{
223-
Android.Views.View __this = global::Java.Lang.Object.GetObject<Android.Views.View> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
223+
var __this = global::Java.Lang.Object.GetObject<Android.Views.View> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
224224
var views = Android.Runtime.JavaList<Android.Views.View>.FromJniHandle (native_views, JniHandleOwnership.DoNotTransfer);
225225
__this.AddTouchables (views);
226226
}

tests/generator-Tests/Tests-Core/expected.ji/Java.Interop.__TypeRegistrations.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static void RegisterPackages ()
2727

2828
static Type Lookup (string[] mappings, string javaType)
2929
{
30-
string managedType = Java.Interop.TypeManager.LookupTypeMapping (mappings, javaType);
30+
var managedType = Java.Interop.TypeManager.LookupTypeMapping (mappings, javaType);
3131
if (managedType == null)
3232
return null;
3333
return Type.GetType (managedType);

tests/generator-Tests/Tests-Core/expected/Android.Text.ISpannable.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
6464

6565
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_tag)
6666
{
67-
Android.Text.ISpannable __this = global::Java.Lang.Object.GetObject<Android.Text.ISpannable> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
68-
Java.Lang.Object tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
67+
var __this = global::Java.Lang.Object.GetObject<Android.Text.ISpannable> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
68+
var tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
6969
int __ret = (int) __this.GetSpanFlags (tag);
7070
return __ret;
7171
}
@@ -78,7 +78,7 @@ public unsafe Android.Text.SpanTypes GetSpanFlags (Java.Lang.Object tag)
7878
id_getSpanFlags_Ljava_lang_Object_ = JNIEnv.GetMethodID (class_ref, "getSpanFlags", "(Ljava/lang/Object;)I");
7979
JValue* __args = stackalloc JValue [1];
8080
__args [0] = new JValue (tag);
81-
Android.Text.SpanTypes __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
81+
var __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
8282
return __ret;
8383
}
8484

tests/generator-Tests/Tests-Core/expected/Android.Text.ISpanned.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
6969

7070
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_tag)
7171
{
72-
Android.Text.ISpanned __this = global::Java.Lang.Object.GetObject<Android.Text.ISpanned> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
73-
Java.Lang.Object tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
72+
var __this = global::Java.Lang.Object.GetObject<Android.Text.ISpanned> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
73+
var tag = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_tag, JniHandleOwnership.DoNotTransfer);
7474
int __ret = (int) __this.GetSpanFlags (tag);
7575
return __ret;
7676
}
@@ -83,7 +83,7 @@ public unsafe Android.Text.SpanTypes GetSpanFlags (Java.Lang.Object tag)
8383
id_getSpanFlags_Ljava_lang_Object_ = JNIEnv.GetMethodID (class_ref, "getSpanFlags", "(Ljava/lang/Object;)I");
8484
JValue* __args = stackalloc JValue [1];
8585
__args [0] = new JValue (tag);
86-
Android.Text.SpanTypes __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
86+
var __ret = (Android.Text.SpanTypes) JNIEnv.CallIntMethod (((global::Java.Lang.Object) this).Handle, id_getSpanFlags_Ljava_lang_Object_, __args);
8787
return __ret;
8888
}
8989

tests/generator-Tests/Tests-Core/expected/Android.Text.SpannableString.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ static Delegate GetGetSpanFlags_Ljava_lang_Object_Handler ()
9898

9999
static int n_GetSpanFlags_Ljava_lang_Object_ (IntPtr jnienv, IntPtr native__this, IntPtr native_what)
100100
{
101-
Android.Text.SpannableString __this = global::Java.Lang.Object.GetObject<Android.Text.SpannableString> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
102-
Java.Lang.Object what = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_what, JniHandleOwnership.DoNotTransfer);
101+
var __this = global::Java.Lang.Object.GetObject<Android.Text.SpannableString> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
102+
var what = global::Java.Lang.Object.GetObject<Java.Lang.Object> (native_what, JniHandleOwnership.DoNotTransfer);
103103
int __ret = (int) __this.GetSpanFlags (what);
104104
return __ret;
105105
}

0 commit comments

Comments
 (0)