Skip to content

Commit 3960c76

Browse files
committed
Merge branch 'main' into dev/grendel/clr-host-static-link
* main: Bump to dotnet/java-interop@7b45b166 (#9982) [Mono.Android] Add AndroidTypeManager.GetInvokerTypeCore() override (#9978)
2 parents 712882c + 9a0a35f commit 3960c76

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/Mono.Android/Android.Runtime/AndroidRuntime.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ struct JniRemappingReplacementMethod
260260

261261
bool jniAddNativeMethodRegistrationAttributePresent;
262262

263+
const DynamicallyAccessedMemberTypes Constructors = DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors;
263264
const DynamicallyAccessedMemberTypes Methods = DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods;
264265
const DynamicallyAccessedMemberTypes MethodsAndPrivateNested = Methods | DynamicallyAccessedMemberTypes.NonPublicNestedTypes;
265266

@@ -392,6 +393,19 @@ protected override IEnumerable<string> GetSimpleReferences (Type type)
392393
};
393394
}
394395

396+
[return: DynamicallyAccessedMembers (Constructors)]
397+
protected override Type? GetInvokerTypeCore (
398+
[DynamicallyAccessedMembers (Constructors)]
399+
Type type)
400+
{
401+
if (type.IsInterface || type.IsAbstract) {
402+
return JavaObjectExtensions.GetInvokerType (type)
403+
?? base.GetInvokerTypeCore (type);
404+
}
405+
406+
return null;
407+
}
408+
395409
delegate Delegate GetCallbackHandler ();
396410

397411
static MethodInfo? dynamic_callback_gen;

0 commit comments

Comments
 (0)