summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2003-05-19 09:59:43 +0000
committerburaq <buraq@epfl.ch>2003-05-19 09:59:43 +0000
commit969e41ca39c84fea500d4284b7b1d56e84e2d611 (patch)
treedf7e956e45178abb6383d6ce0735e92ae93cb80f /sources
parent911a4a65f1fe059b6315617886f44d61902805e0 (diff)
downloadscala-969e41ca39c84fea500d4284b7b1d56e84e2d611.tar.gz
scala-969e41ca39c84fea500d4284b7b1d56e84e2d611.tar.bz2
scala-969e41ca39c84fea500d4284b7b1d56e84e2d611.zip
added printing of nodes Sequence,Subsequence,Al...
added printing of nodes Sequence,Subsequence,Alternative,Bind
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/ast/printer/TextTreePrinter.java27
1 files changed, 27 insertions, 0 deletions
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;