Commit 5e0a0d8
committed
[linker] improve method detection in FixAbstractMethodsStep
The forms team run into an issue with debugger in VS [1]. During
investigation it turned out that our FixAbstractMethodsStep injects 2
methods, which were not needed, as the methods were already
implemented. The bug itself looks like an issue, where original mdb
file was used in the apk, instead of the one written by our linker.
This change improves the method detection, where explicit interface
methods name starts with `global::` [2]. In this particular case it
were these methods:
global::Android.Views.View.IOnTouchListener.OnTouch
global::Android.Views.View.IOnClickListener.OnClick
This is possibly compiler specific, so we rather look in
MethodDefinition's Overrides to find the interface method and compare
it to the interface method we are looking for.
[1] https://bugzilla.xamarin.com/show_bug.cgi?id=59293
[2] excerpt from ikdasm output:
.method private hidebysig newslot virtual final
instance void 'global::Android.Views.View.IOnClickListener.OnClick'(class [Mono.Android]Android.Views.View v) cil managed
{
.override [Mono.Android]Android.Views.View/IOnClickListener::OnClick1 parent 5266b4a commit 5e0a0d8
File tree
1 file changed
+15
-0
lines changed- src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner
1 file changed
+15
-0
lines changedLines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
98 | 110 | | |
99 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
100 | 115 | | |
101 | 116 | | |
102 | 117 | | |
| |||
0 commit comments