Skip to content

[generator] Remove class_ref compatibility getters - #12685

Draft
simonrozsival wants to merge 2 commits into
mainfrom
simonrozsival-eliminate-class-ref-getters
Draft

[generator] Remove class_ref compatibility getters#12685
simonrozsival wants to merge 2 commits into
mainfrom
simonrozsival-eliminate-class-ref-getters

Conversation

@simonrozsival

Copy link
Copy Markdown
Member

Summary

  • stop emitting unused class_ref and java_class_ref compatibility properties
  • keep generated JniPeerMembers fields private and migrate handwritten consumers to direct access
  • use colocated UnsafeAccessor methods for the five generic wrappers that need their non-generic base type's private _members
  • update generator expectations and add generic ArrayAdapter<T>, SparseArray<T>, and ContentValues runtime coverage

Size

API 37 Release Mono.Android.dll is 41,366,016 bytes, 513,024 bytes smaller than the recorded 41,879,040-byte baseline. The generator removes 6,778 MethodDef, Property, and MethodSemantics rows.

Validation

  • Java.Interop generator tests: 489 passed
  • API 37 Debug and Release framework builds
  • MonoVM device suite: 1,007 passed, 75 skipped
  • CoreCLR + trimmable typemap device suite: 718 passed, 12 skipped

Fixes #12680

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 4, 2026 12:23
@simonrozsival simonrozsival added the do-not-merge PR should not be merged. label Sep 4, 2026
@simonrozsival
simonrozsival marked this pull request as draft September 4, 2026 12:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

There are correctness/maintainability issues in the updated Mono.Android sources (notably a formatting regression in AsyncTask.cs and a nullable-contract suppression in SparseArray.Get) that should be addressed before merging.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 1 Medium severity · 2 Low severity

New issues introduced by this change (3)
Severity Finding
Medium severity src/​Mono.Android/​Android.Util/​SparseArray.cs — 🤖 ⚠️ warning Best practices — Avoid the null-forgiving operator (!) here; SparseArray.get()
Low severity src/​Mono.Android/​Android.OS/​AsyncTask.cs — 🤖 ❌ error Codebase conventions — The ThresholdClass getter indentation is inconsistent with…
Low severity src/​Mono.Android/​Android.Widget/​AdapterView.cs — 🤖 💡 suggestion Best practices — Consider returning ref readonly JniPeerMembers from the…
What changed in this PR

This PR updates the Java.Interop generator and in-tree Mono.Android consumers to stop emitting (and relying on) legacy class_ref / java_class_ref compatibility getters, instead using direct JniPeerMembers access (including UnsafeAccessor for a handful of generic wrapper cases). It also updates generator expectation baselines and adds runtime test coverage for impacted generic wrappers and ContentValues.

Changes:

  • Remove generator emission of class_ref / java_class_ref shims and adjust peer-members field visibility for XAJavaInterop1 output.
  • Migrate handwritten/framework consumers from class_ref to _members.JniPeerType.PeerReference.Handle, adding UnsafeAccessor for generic wrappers that must read a non-generic base’s private _members.
  • Add/extend runtime tests for ArrayAdapter<T>, SparseArray<T>, and ContentValues, and update generator expected outputs accordingly.
File Description
tests/​Mono.Android-Tests/​Mono.Android-Tests/​Android.Widget/​AdapterTests.cs Adds runtime coverage ensuring ArrayAdapter<T> bindings behave correctly.
tests/​Mono.Android-Tests/​Mono.Android-Tests/​Android.Util/​SparseArrayTests.cs Adds runtime coverage ensuring SparseArray<T> bindings behave correctly.
tests/​Mono.Android-Tests/​Mono.Android-Tests/​Android.Content/​ContentValuesTests.cs Adds runtime coverage for ContentValues primitive put/get round-trips.
tests/​CodeGen-Binding/​Xamarin.Android.McwGen-Tests/​Timing.cs Updates test binding code to use _members handle instead of class_ref.
tests/​CodeGen-Binding/​Xamarin.Android.JcwGen-Tests/​BindingTests.cs Updates comments/expectations related to class-handle initialization.
src/​Mono.Android/​Java.Lang/​Throwable.cs Replaces class_ref usage with direct _members class-handle access.
src/​Mono.Android/​Android.Widget/​TextView.cs Replaces class_ref usage with direct _members class-handle access.
src/​Mono.Android/​Android.Widget/​BaseAdapter.cs Uses UnsafeAccessor to read base _members for generic wrapper construction.
src/​Mono.Android/​Android.Widget/​ArrayAdapter.cs Uses UnsafeAccessor to read base _members for generic wrapper JNI calls/ctors.
src/​Mono.Android/​Android.Widget/​AdapterViewAnimator.cs Switches class_ref JNI lookups to _members class-handle access.
src/​Mono.Android/​Android.Widget/​AdapterView.cs Uses UnsafeAccessor to read base _members for generic wrapper construction.
src/​Mono.Android/​Android.Widget/​AbsListView.cs Switches class_ref JNI lookups to _members class-handle access.
src/​Mono.Android/​Android.Util/​SparseArray.cs Uses UnsafeAccessor to read base _members for generic wrapper JNI calls.
src/​Mono.Android/​Android.OS/​AsyncTask.cs Uses UnsafeAccessor to read base _members for generic wrapper JNI calls.
src/​Mono.Android/​Android.Content/​CursorLoader.cs Switches class_ref JNI lookups to _members class-handle access.
src/​Mono.Android/​Android.Content/​ContentValues.cs Switches class_ref JNI lookups to _members class-handle access.
src/​Mono.Android/​Android.App/​Notification.cs Switches class_ref JNI lookups to _members class-handle access.
external/​Java.Interop/​tools/​generator/​SourceWriters/​PeerMembersField.cs Makes generated _members private for XAJavaInterop1 output.
external/​Java.Interop/​tools/​generator/​SourceWriters/​InterfaceMemberAlternativeClass.cs Renames/adjusts logic around whether peer-members are required.
external/​Java.Interop/​tools/​generator/​SourceWriters/​InterfaceInvokerClass.cs Stops emitting java_class_ref compatibility getter for invokers.
external/​Java.Interop/​tools/​generator/​SourceWriters/​ClassInvokers.cs Removes class_ref/java_class_ref property writer types and updates docs/comments.
external/​Java.Interop/​tools/​generator/​SourceWriters/​BoundClass.cs Stops adding class_ref getter to generated bound classes.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​SourceWriters/​PeerMembersFieldTests.cs Updates unit expectations for private _members under XAJavaInterop1.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorTests.cs Updates generator tests to assert _members presence and absence of class_ref.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteUnnestedInterfaceTypes.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteStaticInterfaceProperty.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteStaticInterfaceMethod.txt Updates expected output to private _members and remove java_class_ref.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteObjectField.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteNestedInterfaceTypes.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteNestedInterfaceClass.txt Updates expected output removing class_ref/java_class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteMethodWithCharSequenceArrays.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteKotlinUnsignedTypePropertiesClass.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteKotlinUnsignedTypeMethodsClass.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteKotlinUnsignedArrayTypePropertiesClass.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteKotlinUnsignedArrayTypeMethodsClass.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteInterfaceRedeclaredDefaultMethod.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteInterfaceFieldAsDimProperty.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteInterfaceDefaultPropertyGetterOnly.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteInterfaceDefaultProperty.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteInterfaceDefaultMethod.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteInterface.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteDuplicateInterfaceEventArgs.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteDefaultInterfaceMethodInvoker.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteConstSugarInterfaceFields.txt Updates expected output to private _members in interface helper classes.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​WriteClass.txt Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1/​ObsoleteInterfaceAlternativeClass.txt Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1-NRT/​WriteObjectField.txt Updates NRT expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1-NRT/​WriteMethodWithCharSequenceArrays.txt Updates NRT expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1-NRT/​WriteInterface.txt Updates NRT expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​Unit-Tests/​CodeGeneratorExpectedResults/​XAJavaInterop1-NRT/​WriteClass.txt Updates NRT expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.TestInterfaceImplementation.cs Updates expected generated binding output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.ITestInterface.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.IGenericPropertyInterface.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.IGenericInterface.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.GenericStringPropertyImplementation.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.GenericStringImplementation.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.GenericObjectPropertyImplementation.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Test.ME.GenericImplementation.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Java.Util.IQueue.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Java.Util.IDeque.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Java.Util.ICollection.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Java.Lang.String.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​IInterfaceWithoutNamespace.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​TestInterface/​ClassWithoutNamespace.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Streams/​Java.Lang.Throwable.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Streams/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Streams/​Java.IO.OutputStream.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Streams/​Java.IO.IOException.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Streams/​Java.IO.InputStream.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Streams/​Java.IO.FilterOutputStream.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​StaticProperties/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​StaticProperties/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​StaticMethods/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​StaticMethods/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​StaticFields/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​StaticFields/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​ParameterXPath/​Xamarin.Test.A.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​ParameterXPath/​Java.Util.IList.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​ParameterXPath/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​ParameterXPath/​Java.Lang.Integer.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalProperties/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalProperties/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Xamarin.Test.C.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Xamarin.Test.A.cs Updates expected output removing class_ref and privatizing _members (including nested type).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Java.Lang.Throwable.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Java.Lang.Integer.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NormalMethods/​Java.Lang.Class.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NonStaticFields/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NonStaticFields/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NestedTypes/​Xamarin.Test.NotificationCompatBase.cs Updates expected output removing class_ref/java_class_ref and privatizing _members (nested/invokers).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​NestedTypes/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.util.List/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.util.List/​Java.Util.IList.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.util.List/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.lang.Object/​Java.Lang.Object.cs Updates expected output removing class_ref and switching to XA peer-members form.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.lang.Enum/​Java.Lang.State.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.lang.Enum/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.lang.Enum/​Java.Lang.IComparable.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​java.lang.Enum/​Java.Lang.Enum.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​InterfaceMethodsConflict/​Xamarin.Test.SomeObject2.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​InterfaceMethodsConflict/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​InterfaceMethodsConflict/​Xamarin.Test.II2.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​InterfaceMethodsConflict/​Xamarin.Test.II1.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​InterfaceMethodsConflict/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​GenericArguments/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​GenericArguments/​Com.Google.Android.Exoplayer.Drm.IExoMediaDrm.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​GenericArguments/​Com.Google.Android.Exoplayer.Drm.IExoMediaCrypto.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​GenericArguments/​Com.Google.Android.Exoplayer.Drm.FrameworkMediaDrm.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​GenericArguments/​Com.Google.Android.Exoplayer.Drm.FrameworkMediaCrypto.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​CSharpKeywords/​Xamarin.Test.CSharpKeywords.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​CSharpKeywords/​Java.Lang.Throwable.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​CSharpKeywords/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_Jar2Xml/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_Jar2Xml/​Android.Views.View.cs Updates expected output removing class_ref/java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_Jar2Xml/​Android.Text.SpannableStringInternal.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_Jar2Xml/​Android.Text.SpannableString.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_Jar2Xml/​Android.Text.ISpanned.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_Jar2Xml/​Android.Text.ISpannable.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_ClassParse/​Xamarin.Test.Invalidnames.InvalidNameMembers.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_ClassParse/​Xamarin.Test.Invalidnames.In.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_ClassParse/​Xamarin.Google.Composable.MyClass.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_ClassParse/​Java.Lang.String.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Core_ClassParse/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Constructors/​Xamarin.Test.SomeObject2.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Constructors/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Constructors/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Arrays/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Arrays/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Android.Graphics.Color/​Xamarin.Test.SomeObject.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Android.Graphics.Color/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Adapters/​Xamarin.Test.ISpinnerAdapter.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Adapters/​Xamarin.Test.IAdapter.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Adapters/​Xamarin.Test.GenericReturnObject.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Adapters/​Xamarin.Test.AdapterView.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Adapters/​Xamarin.Test.AbsSpinner.cs Updates expected output removing class_ref and privatizing _members (and invoker _members).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​Adapters/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Xamarin.Test.TestClass.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Xamarin.Test.PublicFinalClass.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Xamarin.Test.PublicClass.cs Updates expected output removing class_ref/java_class_ref and privatizing _members_* (nested).
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Xamarin.Test.IExtendedInterface.cs Updates expected output removing java_class_ref and privatizing _members_*.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Xamarin.Test.ExtendPublicClass.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Xamarin.Test.BasePublicClass.cs Updates expected output removing class_ref and privatizing _members.
external/​Java.Interop/​tests/​generator-Tests/​expected.xaji/​AccessModifiers/​Java.Lang.Object.cs Updates expected output removing class_ref and privatizing _members.

Comment thread src/Mono.Android/Android.Util/SparseArray.cs Outdated
Comment thread src/Mono.Android/Android.OS/AsyncTask.cs
Comment thread src/Mono.Android/Android.Widget/AdapterView.cs Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge PR should not be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Investigate eliminating generated class_ref compatibility getters

2 participants