Example #1
0
        internal override void ToString(StringBuilder sb, int ident)
        {
            if (Format.IsSymbolic(Name))
            {
                sb.Append('(');
                sb.Append(Name);
                sb.Append(')');
            }
            else
            {
                sb.Append(Name);
            }

            if (Mask != 0)
            {
                sb.Append(" ");

                for (var i = 0; i < Components; i++)
                {
                    if (i > 0)
                    {
                        sb.Append("->");
                    }

                    if ((Mask & (1 << i)) == (1 << i))
                    {
                        sb.Append("a");
                    }
                    else
                    {
                        sb.Append("_");
                    }
                }
            }
        }
Example #2
0
        internal void ToString(StringBuilder sb, int indent, bool omitFirstIndent)
        {
            if (indent > 0 && !omitFirstIndent)
            {
                sb.Append(' ', indent);
            }

            var ln = sb.Length;

            if (!Left.Parens || (Left.Type == ElaNodeType.NameReference && Format.IsSymbolic(Left.GetName())))
            {
                Left.ToString(sb, 0);
            }
            else
            {
                sb.Append('(');
                Left.ToString(sb, 0);
                sb.Append(')');
            }

            if (Right != null)
            {
                sb.Append(" = ");
                Right.ToString(sb, indent + (sb.Length - ln));
            }

            if (Next != null)
            {
                sb.AppendLine();
                Next.ToString(sb, indent);
            }
        }
Example #3
0
        internal override void ToString(StringBuilder sb, int ident)
        {
            sb.Append("class ");
            sb.Append(Name);

            if (BuiltinName != null)
            {
                sb.Append(" __internal ");
                sb.Append(BuiltinName);

                foreach (var s in Members)
                {
                    sb.Append(' ');

                    if (Format.IsSymbolic(s.Name))
                    {
                        sb.Append('(');
                        sb.Append(s.Name);
                        sb.Append(')');
                    }
                    else
                    {
                        sb.Append(s.Name);
                    }
                }
            }
            else
            {
                sb.AppendLine(" a");
                sb.Append("  where ");
                var c = 0;

                foreach (var s in Members)
                {
                    if (c++ > 0)
                    {
                        sb.AppendLine();
                        sb.Append("         ");
                    }

                    s.ToString(sb, 0);
                }

                sb.AppendLine();
            }

            if (And != null)
            {
                sb.AppendLine();
                And.ToString(sb, ident);
            }
        }
Example #4
0
        internal override void ToString(StringBuilder sb, int ident)
        {
            if (Bang)
            {
                sb.Append('!');
            }

            if (Format.IsSymbolic(Name))
            {
                sb.AppendFormat("({0})", Name);
            }
            else
            {
                sb.Append(Name);
            }
        }