コード例 #1
0
ファイル: LiteralExpression.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     if(_value is string)
         writer.WriteLine("\"{0}\"", _value);
     else
         writer.WriteLine("{1}, {0}", _value.GetType(), _value.ToString());
 }
コード例 #2
0
ファイル: SwitchCase.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("case ");
     using(writer.CurlyBraces())
     {
         this.CaseValues.ForAllBetween(cv => cv.WriteString(writer), () => writer.Write(", "));
         writer.WriteLine(":");
         this.CaseStatementBlock.WriteString(writer);
     }
 }
コード例 #3
0
ファイル: BinaryExpression.cs プロジェクト: dlurton/Happy
        internal override void WriteString(AstWriter writer)
        {
            writer.WriteLine("(");
            using (writer.Indent())
            {

                writer.Write(this.LeftValue);
                writer.Write(this.Operator);
                writer.Write(this.RightValue);

            }
            writer.WriteLine(")");
        }
コード例 #4
0
ファイル: SwitchStatement.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("switch");
     using(writer.CurlyBraces())
     {
         this.SwitchExpression.WriteString(writer);
         this.Cases.ForAllBetween(c => c.WriteString(writer), () => writer.Write("\n"));
         if(this.DefaultStatementBlock != null)
         {
             writer.WriteLine("default:");
             this.DefaultStatementBlock.WriteString(writer);
         }
     }
 }
コード例 #5
0
ファイル: ReturnStatement.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("return ");
     if(this.ReturnExp != null)
         using(writer.Indent())
             writer.Write(this.ReturnExp);
 }
コード例 #6
0
ファイル: Function.cs プロジェクト: dlurton/Happy
        internal override void WriteString(AstWriter writer)
        {
            writer.WriteLine("");
            writer.Write("function {0}", this.Name.Text);

            writer.Write(")");
            using(writer.CurlyBraces())
                writer.Write(_body);
        }
コード例 #7
0
ファイル: IfStatement.cs プロジェクト: dlurton/Happy
        internal override void WriteString(AstWriter writer)
        {
            writer.WriteLine("if");
            using(writer.Parens())
                writer.Write(_condition);
            writer.WriteLine("then");

            using(writer.Indent())
                writer.Write(_trueStatementBlock);

            if (_falseStatementBlock != null)
            {
                writer.WriteLine("else");
                using (writer.CurlyBraces())
                    writer.Write(_falseStatementBlock);
            }
        }
コード例 #8
0
ファイル: OutputStatement.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("~");
     using(writer.CurlyBraces())
         _expressionsToWrite.ExecuteOverAll(writer.Write);
 }
コード例 #9
0
ファイル: LoadDirective.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("load \"{0}\"", this.AssemblyName);
 }
コード例 #10
0
ファイル: UseStatement.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("use {0}", String.Join(".", this.NamespaceSegments));
 }
コード例 #11
0
ファイル: AstWriter.cs プロジェクト: dlurton/Happy
 public BlockTracker(AstWriter writer, string start, string end)
 {
     _writer = writer;
     _end = end;
     _writer.WriteLine(start);
     _writer.IndentCount++;
 }
コード例 #12
0
ファイル: NullExpression.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("const null");
 }
コード例 #13
0
ファイル: Operator.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine(this.Operation.ToString());
 }
コード例 #14
0
ファイル: VerbatimSection.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("verbatim length: {0}, startsAt: ({1})>", _text.Length, this.Location);
 }
コード例 #15
0
ファイル: ContinueStatement.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("continue");
 }
コード例 #16
0
ファイル: BreakStatement.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("break");
 }
コード例 #17
0
ファイル: IdentifierExpression.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("[{0}]", this.Identifier.Text);
 }
コード例 #18
0
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("call {0} ", this.Identifier.Text);
     using(writer.Parens())
         _arguments.ExecuteOverAll(writer.Write);
 }
コード例 #19
0
ファイル: UnexpectedToken.cs プロジェクト: dlurton/Happy
 internal override void WriteString(AstWriter writer)
 {
     writer.WriteLine("<unexpected token>");
 }