TypeResolver getTypeResolver(TypeReference typeReference) { var key = typeReference.Namespace + "." + typeReference.Name; List <TypeResolver> list; if (!types.TryGetValue(key, out list)) { return(null); } if (typeReference is TypeDefinition) { foreach (var resolver in list) { if (resolver.type.MetadataToken == typeReference.MetadataToken.ToInt32()) { return(resolver); } } } foreach (var resolver in list) { if (ResolverUtils.compareTypes(resolver.type, typeReference)) { return(resolver); } } return(null); }
TypeResolver getTypeResolver(ITypeDefOrRef typeRef) { if (typeRef == null) { return(null); } var scopeType = typeRef.ScopeType; var key = scopeType.Namespace + "." + scopeType.TypeName; List <TypeResolver> list; if (!types.TryGetValue(key, out list)) { return(null); } if (scopeType is TypeDef) { foreach (var resolver in list) { if (resolver.type.MetadataToken == scopeType.MDToken.Raw) { return(resolver); } } } foreach (var resolver in list) { if (ResolverUtils.compareTypes(resolver.type, scopeType)) { return(resolver); } } return(null); }