summaryrefslogtreecommitdiff
path: root/sources/meta
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-08-25 14:22:33 +0000
committerpaltherr <paltherr@epfl.ch>2003-08-25 14:22:33 +0000
commit82241883683c217ea55f426db1d847f9a5e3cb80 (patch)
tree5dbb4ccb45527a6bf6d9ac51d5978498a1ad29c2 /sources/meta
parentc68f3a0c00f0fd9724b7fdb527a85b905b63e905 (diff)
downloadscala-82241883683c217ea55f426db1d847f9a5e3cb80.tar.gz
scala-82241883683c217ea55f426db1d847f9a5e3cb80.tar.bz2
scala-82241883683c217ea55f426db1d847f9a5e3cb80.zip
- Added node Switch
Diffstat (limited to 'sources/meta')
-rw-r--r--sources/meta/scalac/ast/Tree.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/sources/meta/scalac/ast/Tree.java b/sources/meta/scalac/ast/Tree.java
index a01919d56e..252f6fff76 100644
--- a/sources/meta/scalac/ast/Tree.java
+++ b/sources/meta/scalac/ast/Tree.java
@@ -30,6 +30,7 @@ public class Tree {
private final Type
t_int = TreeType.INT,
+ t_ints = TreeType.Array(t_int),
t_Object = TreeType.Reference(null, "Object"),
t_Global = TreeType.Reference("scalac", "Global"),
t_Unit = TreeType.Reference("scalac", "Unit"),
@@ -98,6 +99,7 @@ public class Tree {
n_Select = node("Select" , Test, HasSym),
n_Ident = node("Ident" , Test, HasSym),
n_Literal = node("Literal" , Term, NoSym),
+ n_Switch = node("Switch" , Term, NoSym),
n_TypeTerm = node("TypeTerm" , Type, NoSym),
n_SingletonType = node("SingletonType" , Type, NoSym),
n_SelectFromType = node("SelectFromType", Type, HasSym),
@@ -315,6 +317,14 @@ public class Tree {
setRange(Phase.PARSER, Phase.END).
addField(t_Object, "value");
+ n_Switch.
+ setDescription("Switch").
+ setRange(Phase.TRANSMATCH, Phase.END).
+ addField(t_TermTree, "test").
+ addField(t_ints, "tags").
+ addField(t_TermTrees, "bodies").
+ addField(t_TermTree, "otherwise");
+
n_TypeTerm.
setDescription("TypeTerm").
setRange(Phase.PARSER, Phase.END);