public static string GetFullTypeName(this MetadataReader metadataReader, TypeReference typeReference) { var name = metadataReader.GetString(typeReference.Namespace) ?? ""; if (name != "") { name = name + "."; } name = name + metadataReader.GetString(typeReference.Name); return name; }
private MemberDependency GetTypeReferenceMemberDependency(TypeReference typeReference) { var provider = new MemberMetadataInfoTypeProvider(_reader); var typeInfo = provider.GetFullName(typeReference); return CreateMemberDependency(typeInfo); }
public string GetFullyQualifiedName(TypeReference type) { return GetFullyQualifiedNameCore(type.Namespace, type.Name); }
private bool IsSameType(MetadataReader referenceMetadata, MetadataReader newMetadata, TypeReference referenceTypeReference, TypeReference newTypeReference) { if (!IsSameResolutionScope(referenceMetadata, newMetadata, referenceTypeReference.ResolutionScope, newTypeReference.ResolutionScope)) return false; string referenceName = referenceMetadata.GetString(referenceTypeReference.Name); string newName = newMetadata.GetString(newTypeReference.Name); if (!string.Equals(referenceName, newName, StringComparison.Ordinal)) return false; string referenceNamespace = referenceMetadata.GetString(referenceTypeReference.Namespace); string newNamespace = newMetadata.GetString(newTypeReference.Namespace); if (!string.Equals(referenceNamespace, newNamespace, StringComparison.Ordinal)) return false; return true; }
private void CheckBaseType(MetadataReader referenceMetadata, MetadataReader newMetadata, TypeReference referenceBaseTypeReference, TypeReference newBaseTypeReference) { CheckResolutionScope(referenceMetadata, newMetadata, referenceBaseTypeReference.ResolutionScope, newBaseTypeReference.ResolutionScope); string referenceName = referenceMetadata.GetString(referenceBaseTypeReference.Name); string newName = newMetadata.GetString(newBaseTypeReference.Name); if (!string.Equals(referenceName, newName, StringComparison.Ordinal)) throw new NotImplementedException("Base type changed."); string referenceNamespace = referenceMetadata.GetString(referenceBaseTypeReference.Namespace); string newNamespace = newMetadata.GetString(newBaseTypeReference.Namespace); if (!string.Equals(referenceNamespace, newNamespace, StringComparison.Ordinal)) throw new NotImplementedException("Base type changed."); }