From 969e41ca39c84fea500d4284b7b1d56e84e2d611 Mon Sep 17 00:00:00 2001 From: buraq Date: Mon, 19 May 2003 09:59:43 +0000 Subject: added printing of nodes Sequence,Subsequence,Al... added printing of nodes Sequence,Subsequence,Alternative,Bind --- sources/scalac/ast/printer/TextTreePrinter.java | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/sources/scalac/ast/printer/TextTreePrinter.java b/sources/scalac/ast/printer/TextTreePrinter.java index 7a0c5d306b..9bf0dbf700 100644 --- a/sources/scalac/ast/printer/TextTreePrinter.java +++ b/sources/scalac/ast/printer/TextTreePrinter.java @@ -192,6 +192,8 @@ public class TextTreePrinter implements TreePrinter { protected static final Text TXT_RIGHT_BRACE = Text.Simple("}"); protected static final Text TXT_LEFT_BRACKET = Text.Simple("["); protected static final Text TXT_RIGHT_BRACKET = Text.Simple("]"); + protected static final Text TXT_BAR = Text.Simple("|"); + protected static final Text TXT_AT = Text.Simple("@"); protected static final Text TXT_WITH_SP = Text.Sequence(new Text[]{ Text.Space, KW_WITH, Text.Space }); @@ -205,6 +207,8 @@ public class TextTreePrinter implements TreePrinter { Text.Sequence(new Text[]{ TXT_COMMA, Text.Space }); protected static final Text TXT_ELSE_NL = Text.Sequence(new Text[]{ KW_ELSE, Text.Newline }); + protected static final Text TXT_BAR_SP = + Text.Sequence(new Text[]{ Text.Space, TXT_BAR, Text.Space }); public void print(Unit unit) { printUnitHeader(unit); @@ -374,6 +378,29 @@ public class TextTreePrinter implements TreePrinter { printArray(trees, TXT_LEFT_BRACKET, TXT_RIGHT_BRACKET, TXT_COMMA_SP); break; + case Subsequence(Tree[] trees): + if( trees.length > 0 ) + printArray(trees, TXT_LEFT_PAREN, TXT_RIGHT_PAREN, TXT_COMMA_SP); + else + { + print( TXT_LEFT_PAREN ); + print( TXT_COMMA ); + print( TXT_RIGHT_PAREN ); + } + break; + + case Alternative(Tree[] trees): + printArray(trees, TXT_LEFT_PAREN, TXT_RIGHT_PAREN, TXT_BAR_SP); + break; + + case Bind(Name name, Tree t): + printSymbolDefinition(tree.symbol(), name); + print(Text.Space); + print(TXT_AT); + print(Text.Space); + print( t ); + break; + case Visitor(Tree.CaseDef[] cases): printArray(cases, TXT_BLOCK_BEGIN, TXT_BLOCK_END, Text.Newline); break; -- cgit v1.2.3