@@ -92,15 +92,13 @@ static Func<IntPtr, JniHandleOwnership, object> GetJniHandleConverterForType ([D
92
92
typeof ( Func < IntPtr , JniHandleOwnership , object > ) , m ) ;
93
93
}
94
94
95
- [ return : MaybeNull ]
96
- public static T FromJniHandle < T > ( IntPtr handle , JniHandleOwnership transfer )
95
+ public static T ? FromJniHandle < T > ( IntPtr handle , JniHandleOwnership transfer )
97
96
{
98
97
bool set ;
99
98
return FromJniHandle < T > ( handle , transfer , out set ) ;
100
99
}
101
100
102
- [ return : MaybeNull ]
103
- public static T FromJniHandle < T > ( IntPtr handle , JniHandleOwnership transfer , out bool set )
101
+ public static T ? FromJniHandle < T > ( IntPtr handle , JniHandleOwnership transfer , out bool set )
104
102
{
105
103
if ( handle == IntPtr . Zero ) {
106
104
set = false ;
@@ -109,7 +107,7 @@ public static T FromJniHandle<T>(IntPtr handle, JniHandleOwnership transfer, out
109
107
110
108
var interned = ( IJavaObject ? ) Java . Lang . Object . PeekObject ( handle ) ;
111
109
if ( interned != null ) {
112
- T r = FromJavaObject < T > ( interned , out set ) ;
110
+ T ? r = FromJavaObject < T > ( interned , out set ) ;
113
111
if ( set ) {
114
112
JNIEnv . DeleteRef ( handle , transfer ) ;
115
113
return r ;
@@ -119,20 +117,20 @@ public static T FromJniHandle<T>(IntPtr handle, JniHandleOwnership transfer, out
119
117
set = true ;
120
118
121
119
if ( typeof ( IJavaObject ) . IsAssignableFrom ( typeof ( T ) ) )
122
- return ( T ) Java . Lang . Object . _GetObject < T > ( handle , transfer ) ;
120
+ return ( T ? ) Java . Lang . Object . _GetObject < T > ( handle , transfer ) ;
123
121
124
122
var converter = GetJniHandleConverter ( typeof ( T ) ) ??
125
123
GetJniHandleConverter ( GetTypeMapping ( handle ) ) ;
126
124
if ( converter != null )
127
- return ( T ) converter ( handle , transfer ) ;
125
+ return ( T ? ) converter ( handle , transfer ) ;
128
126
129
127
var v = Java . Lang . Object . GetObject ( handle , transfer ) ;
130
128
if ( v is T )
131
129
return ( T ) v ;
132
130
133
131
// hail mary pass; perhaps there's a MCW which participates in normal
134
132
// .NET type conversion?
135
- return ( T ) Convert . ChangeType ( v , typeof ( T ) , CultureInfo . InvariantCulture ) ;
133
+ return ( T ? ) Convert . ChangeType ( v , typeof ( T ) , CultureInfo . InvariantCulture ) ;
136
134
}
137
135
138
136
public static object ? FromJniHandle ( IntPtr handle , JniHandleOwnership transfer , Type ? targetType = null )
@@ -208,15 +206,13 @@ public static T FromJniHandle<T>(IntPtr handle, JniHandleOwnership transfer, out
208
206
return null ;
209
207
}
210
208
211
- [ return : MaybeNull ]
212
- public static T FromJavaObject < T > ( IJavaObject ? value )
209
+ public static T ? FromJavaObject < T > ( IJavaObject ? value )
213
210
{
214
211
bool set ;
215
212
return FromJavaObject < T > ( value , out set ) ;
216
213
}
217
214
218
- [ return : MaybeNull ]
219
- public static T FromJavaObject < T > ( IJavaObject ? value , out bool set )
215
+ public static T ? FromJavaObject < T > ( IJavaObject ? value , out bool set )
220
216
{
221
217
if ( value == null ) {
222
218
set = false ;
@@ -244,7 +240,7 @@ public static T FromJavaObject<T>(IJavaObject? value, out bool set)
244
240
set = true ;
245
241
var converter = GetJniHandleConverter ( typeof ( T ) ) ;
246
242
if ( converter != null )
247
- return ( T ) converter ( lrefValue , JniHandleOwnership . TransferLocalRef ) ;
243
+ return ( T ? ) converter ( lrefValue , JniHandleOwnership . TransferLocalRef ) ;
248
244
JNIEnv . DeleteLocalRef ( lrefValue ) ;
249
245
return ( T ) Convert . ChangeType ( value , typeof ( T ) , CultureInfo . InvariantCulture ) ;
250
246
}
0 commit comments