Example #1
0
 public override void PrintTo(ScriptPrinter printer)
 {
     if (Text != null && Text.Length > 0)
     {
         printer.Write(Text);
     }
 }
Example #2
0
        private string ToText(ScriptNode node)
        {
            var output  = new StringBuilder();
            var context = new ScriptPrinter(new StringBuilderOutput(output));

            context.Write(node);
            return(output.ToString());
        }
 private void PrintOperator(ScriptPrinter printer)
 {
     if (OperatorToken != null)
     {
         printer.Write(OperatorToken);
     }
     else
     {
         printer.Write(Operator.ToText());
     }
 }
Example #4
0
 public override void PrintTo(ScriptPrinter printer)
 {
     if (printer.IsInWhileLoop)
     {
         // TODO: Not efficient
         printer.Write(Name == "for" ? "while" : Name);
     }
     else
     {
         base.PrintTo(printer);
     }
 }
 public static void Write(this ScriptPrinter printer, List <ScriptNamedArgument> parameters)
 {
     if (parameters == null)
     {
         return;
     }
     for (var i = 0; i < parameters.Count; i++)
     {
         var option = parameters[i];
         printer.ExpectSpace();
         printer.Write(option);
     }
 }
Example #6
0
 public override void PrintTo(ScriptPrinter printer)
 {
     if (IsEntering)
     {
         printer.WriteEnterCode(EscapeCount);
         WriteWhitespaceMode(printer);
     }
     else
     {
         WriteWhitespaceMode(printer);
         printer.WriteExitCode(EscapeCount);
     }
 }
 public override void PrintTo(ScriptPrinter printer)
 {
     if (Post)
     {
         printer.Write(Right);
         PrintOperator(printer);
     }
     else
     {
         PrintOperator(printer);
         printer.Write(Right);
     }
 }
Example #8
0
        public sealed override string ToString()
        {
            var strOutput = new StringBuilderOutput();
            var printer   = new ScriptPrinter(strOutput, new ScriptPrinterOptions()
            {
                Mode = ScriptMode.ScriptOnly
            });

            printer.Write(this);
            var result = strOutput.ToString();

            strOutput.Builder.Length = 0;
            return(result);
        }
Example #9
0
        private void WriteWhitespaceMode(ScriptPrinter printer)
        {
            switch (WhitespaceMode)
            {
            case ScriptWhitespaceMode.None:
                break;

            case ScriptWhitespaceMode.Greedy:
                printer.Write("-");
                break;

            case ScriptWhitespaceMode.NonGreedy:
                printer.Write("~");
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #10
0
        public void Write(ScriptPrinter printer)
        {
            var rawText = ToString();

            bool isRawComment = Type == ScriptTriviaType.CommentMulti && !rawText.StartsWith("##");

            if (isRawComment)
            {
                // Escape any # by \#
                rawText = rawText.Replace("#", "\\#");
                // Escape any }}
                rawText = rawText.Replace("}", "\\}");
                printer.Write("## ");
            }

            printer.Write(rawText);

            if (isRawComment)
            {
                printer.Write(" ##");
            }
        }
Example #11
0
 public abstract void PrintTo(ScriptPrinter printer);
Example #12
0
        public override void PrintTo(ScriptPrinter printer)
        {
            if (Value == null)
            {
                printer.Write("null");
                return;
            }

            var type = Value.GetType();

            if (type == typeof(string))
            {
                printer.Write(ToLiteral(StringQuoteType, (string)Value));
            }
            else if (type == typeof(bool))
            {
                printer.Write(((bool)Value) ? "true" : "false");
            }
            else if (type == typeof(int))
            {
                printer.Write(((int)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(double))
            {
                printer.Write(AppendDecimalPoint(((double)Value).ToString("R", CultureInfo.InvariantCulture), true));
            }
            else if (type == typeof(float))
            {
                printer.Write(AppendDecimalPoint(((float)Value).ToString("R", CultureInfo.InvariantCulture), true));
                printer.Write("f");
            }
            else if (type == typeof(decimal))
            {
                printer.Write(AppendDecimalPoint(((decimal)Value).ToString(CultureInfo.InvariantCulture), true));
                printer.Write("m");
            }
            else if (type == typeof(byte))
            {
                printer.Write(((byte)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(sbyte))
            {
                printer.Write(((sbyte)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(short))
            {
                printer.Write(((short)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(ushort))
            {
                printer.Write(((ushort)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(uint))
            {
                printer.Write(((uint)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(long))
            {
                printer.Write(((long)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(ulong))
            {
                printer.Write(((uint)Value).ToString(CultureInfo.InvariantCulture));
            }
            else if (type == typeof(char))
            {
                printer.Write(ToLiteral(ScriptLiteralStringQuoteType.SimpleQuote, Value.ToString()));
            }
            else
            {
                printer.Write(Value.ToString());
            }
        }
Example #13
0
 public override void PrintTo(ScriptPrinter printer)
 {
 }
Example #14
0
 public override void PrintTo(ScriptPrinter printer)
 {
     throw new NotSupportedException();
 }
Example #15
0
 public override void PrintTo(ScriptPrinter printer)
 {
     printer.Write(Name);
 }