public override void PrintLeft(OutputStream sb)
 {
     sb.Append("\'lambda");
     sb.Append(count);
     sb.Append("\'(");
     @params.PrintWithComma(sb);
     sb.Append(')');
 }
Exemple #2
0
        public string GetFunctionParameters(string buf, ref int?n)
        {
            if (!IsFunction)
            {
                return(null);
            }

            NodeArray Params = ((FunctionEncoding)RootNode).Params;

            OutputStream sb = new OutputStream();

            sb.Append('(');
            Params.PrintWithComma(sb);
            sb.Append(')');

            if (n != null)
            {
                n = sb.Length;
            }
            return(sb.ToString());
        }
        public override void PrintRight(OutputStream sb)
        {
            sb.Append('(');
            fparams.PrintWithComma(sb);
            sb.Append(')');

            ret.PrintRight(sb);

            if (cvQuals.HasFlag(Qualifiers.Const))
            {
                sb.Append(" const");
            }

            if (cvQuals.HasFlag(Qualifiers.Volatile))
            {
                sb.Append(" volatile");
            }

            if (cvQuals.HasFlag(Qualifiers.Restrict))
            {
                sb.Append(" restrict");
            }

            switch (refQual)
            {
            case FunctionRefQual.LValue:
                sb.Append(" &");
                break;

            case FunctionRefQual.RValue:
                sb.Append(" &&");
                break;
            }

            if (exceptionSpec != null)
            {
                sb.Append(' ');
                exceptionSpec.Print(sb);
            }
        }
        public override void PrintRight(OutputStream sb)
        {
            sb.Append('(');
            Params.PrintWithComma(sb);
            sb.Append(')');
            if (ReturnType != null)
            {
                ReturnType.PrintRight(sb);
            }

            if (CVQuals.HasFlag(Qualifiers.Const))
            {
                sb.Append(" const");
            }
            if (CVQuals.HasFlag(Qualifiers.Volatile))
            {
                sb.Append(" volatile");
            }
            if (CVQuals.HasFlag(Qualifiers.Restrict))
            {
                sb.Append(" restrict");
            }

            if (RefQual.HasFlag(FunctionRefQual.LValue))
            {
                sb.Append(" &");
            }
            else if (RefQual.HasFlag(FunctionRefQual.RValue))
            {
                sb.Append(" &&");
            }

            if (attrs != null)
            {
                attrs.Print(sb);
            }
        }
Exemple #5
0
 public override void PrintLeft(OutputStream sb) => array.PrintWithComma(sb);
 public override void PrintLeft(OutputStream sb)
 {
     sb.Append('[');
     bindings.PrintWithComma(sb);
     sb.Append(']');
 }
 public override void PrintLeft(OutputStream sb)
 {
     sb.Append(" [enable_if:");
     conditions.PrintWithComma(sb);
     sb.Append(']');
 }
Exemple #8
0
 public override void PrintLeft(OutputStream sb)
 {
     sb.Append("throw(");
     types.PrintWithComma(sb);
     sb.Append(')');
 }