Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Java.Interop] Fix JNI signature generating
Commit dotnet@cb161d2 introduced a regression described in dotnet/android#1149 (comment) The signature of the `InitializeCreator` method was wrongly calculated as `()Ljava/lang/Object;` instead of original `()Lmd59b7a7576784821ea63294fbca8600da1/Creator_1;` The reason for that is, that dotnet@cb161d2#diff-9e153905b02dbe50c0e0b874ba40bf3eR262 started using `IEnumerable<T>::OfType<T>`, which traverses inheritance, unlike the original `Type::GetCustomAttributes` called with `inherit = false`. Thus for the `Creator<Player>` we got the `RegisterAttribute` from the parent type `Java.Lang.Object` which led to non-null result from `ToJniNameFromAttributes` method. At the end the result was used here dotnet@cb161d2#diff-9e153905b02dbe50c0e0b874ba40bf3eR361 instead of returning `ToJniName (type, exportKind)` result.
- Loading branch information