/// <summary> /// Write a type signature to the text buffer /// </summary> /// <param name="tref">Type definition</param> protected override void WriteTypeSignature(TypeReference tref) { tref.Accept(this); if (tref.GenericParameters.Count <= 0) return; foreach (var genparam in tref.GenericParameters.Where(genparam => genparam.Constraints.Count > 0)) { Write(CSharpKeyword.@where, SpaceSurrounder.Both); genparam.Accept(this); VisitVisitableCollection(GenericConstraintListStart, String.Empty, BasicSeparator, false, genparam.Constraints); } }
/// <summary> /// Resolve the given type to a NetTypeReference. /// </summary> private NetTypeReference Resolve(TypeReference type, IGenericContext context, INetGenericParameterProvider provider) { return(type.Accept(ResolveVisitor.Instance, new ResolveData(this, context, provider))); }
/// <summary> /// Write a type signature to the text buffer /// </summary> /// <param name="tref">Type reference</param> protected override void WriteTypeSignature(TypeReference tref) { tref.Accept(this); }