public override StringBuilder VisitMemberType(MemberType memberType, int data) { return new StringBuilder(memberType.Annotation<TypeReference>().ToGlsl()); }
public override StringBuilder VisitMemberType(MemberType memberType, int data) { return(new StringBuilder(GLSL.ToGLSL(memberType.Annotation <TypeReference>()))); }
public virtual void VisitMemberType(MemberType memberType) { StartNode(memberType); memberType.Target.AcceptVisitor(this); if (memberType.IsDoubleColon) { WriteToken(Roles.DoubleColon); } else { WriteToken(Roles.Dot); } WriteIdentifier(memberType.MemberNameToken, TextTokenHelper.GetTextTokenType(memberType.MemberNameToken.Annotation<object>() ?? memberType.Annotation<object>())); WriteTypeArguments(memberType.TypeArguments); EndNode(memberType); }
public virtual void VisitMemberType(MemberType memberType) { StartNode(memberType); memberType.Target.AcceptVisitor(this); if (memberType.IsDoubleColon) { WriteToken(Roles.DoubleColon, BoxedTextColor.Operator); } else { WriteToken(Roles.Dot, BoxedTextColor.Operator); } WriteIdentifier(memberType.MemberNameToken, CSharpMetadataTextColorProvider.Instance.GetColor(memberType.MemberNameToken.Annotation<object>() ?? memberType.Annotation<object>())); WriteTypeArguments(memberType.TypeArguments, CodeBracesRangeFlags.AngleBrackets); EndNode(memberType); }
public override void VisitMemberType (MemberType memberType) { base.VisitMemberType (memberType); AstNodeCollection<AstType> args = memberType.TypeArguments; var mems = new Stack<MemberType> (); var t = (AstType)memberType; var mem = memberType; while (mem != null) { mems.Push (mem); if (args.Count == 0) args = mem.TypeArguments; t = mem.Target; mem = t as MemberType; } var newName = ""; var simp = t as SimpleType; if (simp != null) { if (args.Count == 0) args = simp.TypeArguments; newName += (simp.Identifier); } else { t.AcceptVisitor (this); } while (mems.Count > 0) { var mm = mems.Pop (); newName += ("_" + mm.MemberName); } var newType = new SimpleType (newName, args.Select (x => x.Clone ())); var td = memberType.Annotation<TypeDefinition> (); if (td != null) { newType.AddAnnotation (td); } memberType.ReplaceWith (newType); }