IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.Tools.Importer.ManagedResolver Class Reference
Inheritance diagram for IKVM.Tools.Importer.ManagedResolver:
IKVM.CoreLib.Symbols.ISymbolResolver

Public Member Functions

 ManagedResolver (StaticCompiler compiler)
 Initializes a new instance.
 
IAssemblySymbol ResolveBaseAssembly ()
 Resolves the known Java base assembly.
 
IAssemblySymbol ResolveAssembly (string assemblyName)
 Resolves the named assembly from any reference source.
 
ITypeSymbol ResolveCoreType (string typeName)
 Resolves the named type from any reference source.
 
ITypeSymbol ResolveRuntimeType (string typeName)
 Resolves the named type from the IKVM runtime assembly.
 
- Public Member Functions inherited from IKVM.CoreLib.Symbols.ISymbolResolver

Detailed Description

Definition at line 34 of file ManagedResolver.cs.

Constructor & Destructor Documentation

◆ ManagedResolver()

IKVM.Tools.Importer.ManagedResolver.ManagedResolver ( StaticCompiler compiler)

Initializes a new instance.

Parameters
compiler

Definition at line 44 of file ManagedResolver.cs.

45 {
46 this.compiler = compiler ?? throw new ArgumentNullException(nameof(compiler));
47 }

Member Function Documentation

◆ ResolveAssembly()

IAssemblySymbol IKVM.Tools.Importer.ManagedResolver.ResolveAssembly ( string assemblyName)

Resolves the named assembly from any reference source.

Parameters
assemblyName
Returns

Implements IKVM.CoreLib.Symbols.ISymbolResolver.

Definition at line 54 of file ManagedResolver.cs.

55 {
56 return compiler.Universe.Load(assemblyName) is { } a ? context.GetOrCreateAssemblySymbol(a) : null;
57 }
IkvmReflectionAssemblySymbol GetOrCreateAssemblySymbol(Assembly assembly)
Gets or creates a IkvmReflectionAssemblySymbol for the specified Assembly.

◆ ResolveBaseAssembly()

IAssemblySymbol IKVM.Tools.Importer.ManagedResolver.ResolveBaseAssembly ( )

Resolves the known Java base assembly.

Returns

Implements IKVM.CoreLib.Symbols.ISymbolResolver.

Definition at line 49 of file ManagedResolver.cs.

50 {
51 return compiler.baseAssembly != null ? context.GetOrCreateAssemblySymbol(compiler.baseAssembly) : null;
52 }

◆ ResolveCoreType()

ITypeSymbol IKVM.Tools.Importer.ManagedResolver.ResolveCoreType ( string typeName)

Resolves the named type from any reference source.

Parameters
typeName
Returns

Implements IKVM.CoreLib.Symbols.ISymbolResolver.

Definition at line 59 of file ManagedResolver.cs.

60 {
61 foreach (var assembly in compiler.Universe.GetAssemblies())
62 if (assembly.GetType(typeName) is Type t)
63 return context.GetOrCreateTypeSymbol(t);
64
65 return null;
66 }
IKVM.Reflection.Type Type
IkvmReflectionTypeSymbol GetOrCreateTypeSymbol(Type type)
Gets or creates a IkvmReflectionTypeSymbol for the specified Type.

◆ ResolveRuntimeType()

ITypeSymbol IKVM.Tools.Importer.ManagedResolver.ResolveRuntimeType ( string typeName)

Resolves the named type from the IKVM runtime assembly.

Parameters
typeName
Returns

Implements IKVM.CoreLib.Symbols.ISymbolResolver.

Definition at line 68 of file ManagedResolver.cs.

69 {
70 return compiler.GetRuntimeType(typeName) is { } t ? context.GetOrCreateTypeSymbol(t) : null;
71 }

The documentation for this class was generated from the following file: