internal static void GetDeclaredHierarchy(IDeclaredTypeReference typeReference, ITypeReferenceCollection typeParameters, out List <IDeclaredType> hierarchy, out Stack <ITypeReference> typeParamsStack) { IDeclaredType type = typeReference.TypeInstance; hierarchy = new List <IDeclaredType>(); List <ITypeReference> typeParams = new List <ITypeReference>(typeParameters); typeParams.Reverse(); typeParamsStack = new Stack <ITypeReference>(typeParams); for (IDeclarationTarget iDecTar = type; iDecTar != null && iDecTar is IDeclaredType; iDecTar = iDecTar.ParentTarget) { hierarchy.Add((IDeclaredType)iDecTar); } hierarchy.Reverse(); }
private Reference(IDeclaredTypeReference arrayElementType, int arrayRank) : base(arrayElementType, arrayRank) { }
public abstract void TranslateConceptTypeName(IDeclaredTypeReference type, ITypeReferenceCollection typeParameters);
public override void TranslateConceptTypeName(IDeclaredTypeReference type, ITypeReferenceCollection typeParameters) { this.Provider.GenerateCodeFromExpression(type.GetTypeExpression().GenerateCodeDom(this.Options), base.Target, this.Options.Options); }