24 readonly ConditionalWeakTable<Assembly, IkvmReflectionAssemblySymbol> _assemblies =
new();
42 throw new ArgumentNullException(nameof(assembly));
55 throw new ArgumentNullException(nameof(module));
68 throw new ArgumentNullException(nameof(type));
81 throw new ArgumentNullException(nameof(ctor));
83 return GetOrCreateAssemblySymbol(ctor.Module.Assembly).GetOrCreateModuleSymbol(ctor.Module).GetOrCreateTypeSymbol(ctor.DeclaringType!).GetOrCreateConstructorSymbol(ctor);
94 throw new ArgumentNullException(nameof(method));
96 return GetOrCreateAssemblySymbol(method.Module.Assembly).GetOrCreateModuleSymbol(method.Module).GetOrCreateTypeSymbol(method.DeclaringType!).GetOrCreateMethodSymbol(method);
106 if (parameter is
null)
107 throw new ArgumentNullException(nameof(parameter));
109 return GetOrCreateAssemblySymbol(parameter.Member.Module.Assembly).GetOrCreateModuleSymbol(parameter.Member.Module).GetOrCreateTypeSymbol(parameter.Member.DeclaringType!).GetOrCreateMethodBaseSymbol((
MethodBase)parameter.Member).GetOrCreateParameterSymbol(parameter);
120 throw new ArgumentNullException(nameof(field));
122 return GetOrCreateAssemblySymbol(field.Module.Assembly).GetOrCreateModuleSymbol(field.Module).GetOrCreateTypeSymbol(field.DeclaringType!).GetOrCreateFieldSymbol(field);
132 if (property is
null)
133 throw new ArgumentNullException(nameof(property));
135 return GetOrCreateAssemblySymbol(property.Module.Assembly).GetOrCreateModuleSymbol(property.Module).GetOrCreateTypeSymbol(property.DeclaringType!).GetOrCreatePropertySymbol(property);
146 throw new ArgumentNullException(nameof(@event));
148 return GetOrCreateAssemblySymbol(@event.Module.Assembly).GetOrCreateModuleSymbol(@event.Module).GetOrCreateTypeSymbol(@event.DeclaringType!).GetOrCreateEventSymbol(@event);
IKVM.Reflection.Module Module
IKVM.Reflection.Type Type
IKVM.Reflection.Assembly Assembly
IKVM.Reflection.ConstructorInfo ConstructorInfo
IKVM.Reflection.EventInfo EventInfo
IKVM.Reflection.FieldInfo FieldInfo
IKVM.Reflection.PropertyInfo PropertyInfo
IKVM.Reflection.MethodInfo MethodInfo
IKVM.Reflection.ParameterInfo ParameterInfo
IKVM.Reflection.MethodBase MethodBase
Implementation of IModuleSymbol derived from System.Reflection.
Holds references to symbols derived from System.Reflection.
IkvmReflectionEventSymbol GetOrCreateEventSymbol(EventInfo @event)
Gets or creates a IkvmReflectionEventSymbol for the specified EventInfo.
IkvmReflectionFieldSymbol GetOrCreateFieldSymbol(FieldInfo field)
Gets or creates a IkvmReflectionFieldSymbol for the specified FieldInfo.
IkvmReflectionParameterSymbol GetOrCreateParameterSymbol(ParameterInfo parameter)
Gets or creates a IkvmReflectionParameterSymbol for the specified ParameterInfo.
IkvmReflectionAssemblySymbol GetOrCreateAssemblySymbol(Assembly assembly)
Gets or creates a IkvmReflectionAssemblySymbol for the specified Assembly.
IkvmReflectionTypeSymbol GetOrCreateTypeSymbol(Type type)
Gets or creates a IkvmReflectionTypeSymbol for the specified Type.
IkvmReflectionPropertySymbol GetOrCreatePropertySymbol(PropertyInfo property)
Gets or creates a IkvmReflectionPropertySymbol for the specified PropertyInfo.
IkvmReflectionMethodSymbol GetOrCreateMethodSymbol(MethodInfo method)
Gets or creates a IkvmReflectionMethodBaseSymbol for the specified MethodInfo.
IkvmReflectionSymbolContext()
Initializes a new instance.
IkvmReflectionModuleSymbol GetOrCreateModuleSymbol(Module module)
Gets or creates a IkvmReflectionModuleSymbol for the specified Module.
IkvmReflectionConstructorSymbol GetOrCreateConstructorSymbol(ConstructorInfo ctor)
Gets or creates a IkvmReflectionConstructorSymbol for the specified ConstructorInfo.