diff --git a/external/cecil b/external/cecil index b77420aee..f64903c0e 160000 --- a/external/cecil +++ b/external/cecil @@ -1 +1 @@ -Subproject commit b77420aee444dab2adfb2f7efa4a9a865a4aa9b4 +Subproject commit f64903c0e069224aaac7de243fa0a3b17684b4dd diff --git a/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiTypeResolverExtensions.cs b/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiTypeResolverExtensions.cs index 65f1ea7c7..060b2b775 100644 --- a/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiTypeResolverExtensions.cs +++ b/src/Xamarin.Android.Tools.ApiXmlAdjuster/JavaApiTypeResolverExtensions.cs @@ -104,23 +104,23 @@ public static void Resolve (this JavaField f) f.ResolvedType = f.GetApi ().Parse (f.TypeGeneric, f.Parent.TypeParameters); } - static void ResolveMethodBase (this JavaMethodBase m, JavaTypeParameters methodTypeParameters) + static void ResolveMethodBase (this JavaMethodBase m) { + if (m.TypeParameters != null) + m.TypeParameters.Resolve (m.GetApi (), m.TypeParameters); foreach (var p in m.Parameters) - p.ResolvedType = m.GetApi ().Parse (p.Type, m.Parent.TypeParameters, methodTypeParameters); + p.ResolvedType = m.GetApi ().Parse (p.Type, m.Parent.TypeParameters, m.TypeParameters); } public static void Resolve (this JavaMethod m) { - if (m.TypeParameters != null) - m.TypeParameters.Resolve (m.GetApi (), m.TypeParameters); - m.ResolveMethodBase (m.TypeParameters); + m.ResolveMethodBase (); m.ResolvedReturnType = m.GetApi ().Parse (m.Return, m.Parent.TypeParameters, m.TypeParameters); } public static void Resolve (this JavaConstructor c) { - c.ResolveMethodBase (null); + c.ResolveMethodBase (); } static void Resolve (this JavaTypeParameters tp, JavaApi api, params JavaTypeParameters [] additionalTypeParameters)