[generator] Qualify object.GetType() invocations
#95
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context: https://bugzilla.xamarin.com/show_bug.cgi?id=45203
Context: https://bugzilla.xamarin.com/show_bug.cgi?id=44263#c8
(Sorry; private bugs.)
The
getType()method isn't special; any Java library could containsuch a method:
(It's a wonder that we haven't hit such a thing before!)
Unfortunately, should such a method (1) exist, and (2) be bound as
GetType()instead of as aTypeproperty -- in the above example,we use an
int[]return type because if a Java method has an arrayreturn type, we won't turn it into a property -- the resulting code
wouldn't compile:
To fix this, qualify all use of the
GetType()method so that weexplicitly use
System.Object.GetType():This has no performance-impact, IL-wise, as the C# compiler is able to
statically determine that we want non-virtual invocation of the
System.Object.GetType()method. No runtime cast is performed.