public void ResolveSimpleTypeReference(SimpleTypeReference node) { if (null != node.Entity) { return; } IEntity entity = ResolveTypeName(node); if (null == entity) { node.Entity = NameNotType(node, "not found"); return; } GenericTypeReference gtr = node as GenericTypeReference; if (null != gtr) { entity = ResolveGenericTypeReference(gtr, entity); } GenericTypeDefinitionReference gtdr = node as GenericTypeDefinitionReference; if (null != gtdr) { IType type = (IType)entity; if (gtdr.GenericPlaceholders != type.GenericInfo.GenericParameters.Length) { GenericArgumentsCountMismatch(gtdr, type); return; } } entity = Entities.PreferInternalEntitiesOverExternalOnes(entity); if (EntityType.Type != entity.EntityType) { if (EntityType.Ambiguous == entity.EntityType) { entity = AmbiguousReference(node, (Ambiguous)entity); } else if (EntityType.Error != entity.EntityType) { entity = NameNotType(node, entity.ToString()); } } else { node.Name = entity.FullName; } if (node.IsPointer && EntityType.Type == entity.EntityType) { entity = ((IType)entity).MakePointerType(); } node.Entity = entity; }
override public void OnGenericTypeDefinitionReference(GenericTypeDefinitionReference node) { OnSimpleTypeReference(node); Write("[of *"); for (int i = 1; i < node.GenericPlaceholders; i++) { Write(", *"); } Write("]"); }
public void ResolveSimpleTypeReference(SimpleTypeReference node) { if (null != node.Entity) { return; } IEntity entity = ResolveTypeName(node); if (null == entity) { node.Entity = NameNotType(node); return; } if (EntityType.Type != entity.EntityType) { if (EntityType.Ambiguous == entity.EntityType) { entity = AmbiguousReference(node, (Ambiguous)entity); } else { entity = NameNotType(node); } } else { #if NET_2_0 GenericTypeReference gtr = node as GenericTypeReference; if (null != gtr) { entity = MakeGenericType(gtr, (IType)entity); } GenericTypeDefinitionReference gtdr = node as GenericTypeDefinitionReference; if (null != gtdr) { IType type = (IType)entity; if (gtdr.GenericPlaceholders != type.GenericTypeDefinitionInfo.GenericParameters.Length) { entity = GenericArgumentsCountMismatch(gtdr, type); } } #endif node.Name = entity.FullName; } node.Entity = entity; }
override public void OnGenericTypeDefinitionReference(GenericTypeDefinitionReference node) { NameResolutionService.ResolveSimpleTypeReference(node); }
public override void OnGenericTypeDefinitionReference(GenericTypeDefinitionReference node) { base.OnGenericTypeDefinitionReference(node); OnTypeReference(node); }
public override void OnGenericTypeDefinitionReference(GenericTypeDefinitionReference node) { throw new NotImplementedException(); IL_0006 :; }
override public void OnGenericTypeDefinitionReference(GenericTypeDefinitionReference node) { OnTypeReference(node); }
override public void OnGenericTypeDefinitionReference(GenericTypeDefinitionReference node) { CheckName(node, node.Name); }