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);
            }
        }