public TypeNameMapGenerator(IEnumerable <string> assemblies, Action <string, object []> logMessage) { if (assemblies == null) { throw new ArgumentNullException("assemblies"); } if (logMessage == null) { throw new ArgumentNullException(nameof(logMessage)); } Log = logMessage; var Assemblies = assemblies.ToList(); var rp = new ReaderParameters(); Resolver = new DirectoryAssemblyResolver(Log, loadDebugSymbols: true, loadReaderParameters: rp); foreach (var assembly in Assemblies) { var directory = Path.GetDirectoryName(assembly); if (string.IsNullOrEmpty(directory)) { continue; } if (!Resolver.SearchDirectories.Contains(directory)) { Resolver.SearchDirectories.Add(directory); } } foreach (var assembly in Assemblies) { Resolver.Load(Path.GetFullPath(assembly)); } Types = JavaTypeScanner.GetJavaTypes(Assemblies, Resolver, logMessage); }
public TypeNameMapGenerator(IEnumerable <string> assemblies, Action <TraceLevel, string> logger, IMetadataResolver resolver) { if (assemblies == null) { throw new ArgumentNullException("assemblies"); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } Cache = resolver ?? new TypeDefinitionCache(); Log = logger; var Assemblies = assemblies.ToList(); var rp = new ReaderParameters(); Resolver = new DirectoryAssemblyResolver(Log, loadDebugSymbols: true, loadReaderParameters: rp); foreach (var assembly in Assemblies) { var directory = Path.GetDirectoryName(assembly); if (string.IsNullOrEmpty(directory)) { continue; } if (!Resolver.SearchDirectories.Contains(directory)) { Resolver.SearchDirectories.Add(directory); } } foreach (var assembly in Assemblies) { Resolver.Load(Path.GetFullPath(assembly)); } Scanner = new JavaTypeScanner(Log, Cache) { ErrorOnCustomJavaObject = false, }; Types = Scanner.GetJavaTypes(Assemblies, Resolver); }
public TypeNameMapGenerator(IEnumerable <string> assemblies, Action <string, object []> logMessage) { if (assemblies == null) { throw new ArgumentNullException("assemblies"); } if (logMessage == null) { throw new ArgumentNullException(nameof(logMessage)); } Log = logMessage; var Assemblies = assemblies.ToList(); var resolver = new DirectoryAssemblyResolver(Log, loadDebugSymbols: true); foreach (var assembly in Assemblies) { resolver.Load(Path.GetFullPath(assembly)); } Types = JavaTypeScanner.GetJavaTypes(Assemblies, resolver, logMessage); }