protected ImportedMember(ImportedModule module, StringHandle nameHandle, ImportedType declaringType) { Module = module; DeclaringType = declaringType; _nameHandle = nameHandle; }
internal ImportedMethod ResolveMethod(MethodDefinitionHandle handle, ImportedType declaringType = null) { ImportedMethod method; if (!_resolvedMethods.TryGetValue(handle, out method)) { MethodDefinition methodDef = _reader.GetMethodDefinition(handle); method = new ImportedMethod(this, methodDef, declaringType ?? ResolveType(methodDef.GetDeclaringType())); _resolvedMethods.Add(handle, method); } return(method); }
internal ImportedType ResolveType(TypeDefinitionHandle handle) { ImportedType type; if (!_resolvedTypes.TryGetValue(handle, out type)) { TypeDefinition typeDef = _reader.GetTypeDefinition(handle); type = new ImportedType(this, typeDef); _resolvedTypes.Add(handle, type); } return(type); }
internal ImportedField(ImportedModule module, FieldDefinition fieldDef, ImportedType declaringType) : base(module, fieldDef.Name, declaringType) { _fieldDef = fieldDef; }
internal ImportedType ResolveType(TypeDefinitionHandle handle) { ImportedType type; if (!_resolvedTypes.TryGetValue(handle, out type)) { TypeDefinition typeDef = _reader.GetTypeDefinition(handle); type = new ImportedType(this, typeDef); _resolvedTypes.Add(handle, type); } return type; }
internal ImportedMethod ResolveMethod(MethodDefinitionHandle handle, ImportedType declaringType = null) { ImportedMethod method; if (!_resolvedMethods.TryGetValue(handle, out method)) { MethodDefinition methodDef = _reader.GetMethodDefinition(handle); method = new ImportedMethod(this, methodDef, declaringType ?? ResolveType(methodDef.GetDeclaringType())); _resolvedMethods.Add(handle, method); } return method; }
internal ImportedMethod(ImportedModule module, MethodDefinition methodDef, ImportedType declaringType) : base(module, methodDef.Name, declaringType) { _methodDef = methodDef; _signature = methodDef.DecodeSignature(Module.IrisTypeProvider); }
internal ImportedMethod(ImportedModule module, MethodDefinition methodDef, ImportedType declaringType) : base(module, methodDef.Name, declaringType) { _methodDef = methodDef; _signature = SignatureDecoder.DecodeMethodSignature(_methodDef.Signature, Module.IrisTypeProvider); }