Skip to content

Commit f03088e

Browse files
[Java.Interop.Tools.JavaCallableWrappers] IMetadataResolver redux (#1075)
Context: cf80deb I found a couple places we didn't add `[Obsolete (error: true)]`, but luckily this requires no code changes in xamarin/xamarin-android. Update `JavaTypeScanner` so that `IMetadataResolver` is required. I did a quick search, and I'm not finding anymore of these.
1 parent e11d024 commit f03088e

File tree

1 file changed

+10
-13
lines changed
  • src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers

1 file changed

+10
-13
lines changed

src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaTypeScanner.cs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,15 @@ public class JavaTypeScanner
1818

1919
readonly IMetadataResolver cache;
2020

21-
[Obsolete ("Use the TypeDefinitionCache overload for better performance.")]
22-
public JavaTypeScanner (Action<TraceLevel, string> logger)
23-
: this (logger, resolver: null)
24-
{ }
21+
[Obsolete ("Use the TypeDefinitionCache overload for better performance.", error: true)]
22+
public JavaTypeScanner (Action<TraceLevel, string> logger) => throw new NotSupportedException ();
2523

26-
public JavaTypeScanner (Action<TraceLevel, string> logger, TypeDefinitionCache? cache)
27-
: this (logger, (IMetadataResolver?) cache)
24+
public JavaTypeScanner (Action<TraceLevel, string> logger, TypeDefinitionCache cache)
25+
: this (logger, (IMetadataResolver) cache)
2826
{
2927
}
3028

31-
public JavaTypeScanner (Action<TraceLevel, string> logger, IMetadataResolver? resolver)
29+
public JavaTypeScanner (Action<TraceLevel, string> logger, IMetadataResolver resolver)
3230
{
3331
if (logger == null)
3432
throw new ArgumentNullException (nameof (logger));
@@ -96,15 +94,14 @@ public static bool ShouldSkipJavaCallableWrapperGeneration (TypeDefinition type,
9694
return false;
9795
}
9896

99-
[Obsolete ("Use the TypeDefinitionCache overload for better performance.")]
100-
public static List<TypeDefinition> GetJavaTypes (IEnumerable<string> assemblies, IAssemblyResolver resolver, Action<string, object []> log) =>
101-
GetJavaTypes (assemblies, resolver, log, metadataResolver: null);
97+
[Obsolete ("Use the TypeDefinitionCache overload for better performance.", error: true)]
98+
public static List<TypeDefinition> GetJavaTypes (IEnumerable<string> assemblies, IAssemblyResolver resolver, Action<string, object []> log) => throw new NotSupportedException ();
10299

103100
// Returns all types for which we need to generate Java delegate types.
104-
public static List<TypeDefinition> GetJavaTypes (IEnumerable<string> assemblies, IAssemblyResolver resolver, Action<string, object []> log, TypeDefinitionCache? cache) =>
105-
GetJavaTypes (assemblies, resolver, log, (IMetadataResolver?) cache);
101+
public static List<TypeDefinition> GetJavaTypes (IEnumerable<string> assemblies, IAssemblyResolver resolver, Action<string, object []> log, TypeDefinitionCache cache) =>
102+
GetJavaTypes (assemblies, resolver, log, (IMetadataResolver) cache);
106103

107-
public static List<TypeDefinition> GetJavaTypes (IEnumerable<string> assemblies, IAssemblyResolver resolver, Action<string, object []> log, IMetadataResolver? metadataResolver)
104+
public static List<TypeDefinition> GetJavaTypes (IEnumerable<string> assemblies, IAssemblyResolver resolver, Action<string, object []> log, IMetadataResolver metadataResolver)
108105
{
109106
Action<TraceLevel, string> l = (level, value) => log ("{0}", new string [] { value });
110107
return new JavaTypeScanner (l, metadataResolver).GetJavaTypes (assemblies, resolver);

0 commit comments

Comments
 (0)