summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2006-07-01 16:45:02 +0000
committerBurak Emir <emir@epfl.ch>2006-07-01 16:45:02 +0000
commit1292086fa53fe95b826964f25b1f5d1c9d0f9f27 (patch)
tree123dbaccefb9e0bdac8af0b53573050e04ec8983 /src/library
parent5a6a7631576f8be6aa268717b2df821a3f9c9426 (diff)
downloadscala-1292086fa53fe95b826964f25b1f5d1c9d0f9f27.tar.gz
scala-1292086fa53fe95b826964f25b1f5d1c9d0f9f27.tar.bz2
scala-1292086fa53fe95b826964f25b1f5d1c9d0f9f27.zip
liftcode now handles more trees, albeit the sym...
liftcode now handles more trees, albeit the symbol handling really needs a revamping
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/reflect/Tree.scala34
1 files changed, 20 insertions, 14 deletions
diff --git a/src/library/scala/reflect/Tree.scala b/src/library/scala/reflect/Tree.scala
index 9cf848be8a..3cbdf692d8 100644
--- a/src/library/scala/reflect/Tree.scala
+++ b/src/library/scala/reflect/Tree.scala
@@ -14,17 +14,23 @@ package scala.reflect;
abstract class Tree;
-case class Ident(sym: Symbol) extends Tree;
-case class Select(qual: Tree, sym: Symbol) extends Tree;
-case class Literal(value: Any) extends Tree;
-case class Apply(fun: Tree, args: List[Tree]) extends Tree;
-case class TypeApply(fun: Tree, args: List[Type]) extends Tree;
-case class Function(params: List[Symbol], body: Tree) extends Tree;
-case class This(sym: Symbol) extends Tree;
-case class Block(stats: List[Tree], expr: Tree) extends Tree;
-case class New(sym: Tree) extends Tree;
-case class If(condition: Tree, trueCase: Tree, falseCase: Tree) extends Tree;
-case class Assign(destination: Tree, source: Tree) extends Tree;
-case class Target(sym: LabelSymbol, body: Tree) extends Tree;
-case class Goto(target: LabelSymbol) extends Tree;
-case class ValDef(sym: Symbol, rhs: Tree) extends Tree;
+case class Ident(sym: Symbol) extends Tree
+case class Select(qual: Tree, sym: Symbol) extends Tree
+case class Literal(value: Any) extends Tree
+case class Apply(fun: Tree, args: List[Tree]) extends Tree
+case class TypeApply(fun: Tree, args: List[Type]) extends Tree
+case class Function(params: List[Symbol], body: Tree) extends Tree
+case class This(sym: Symbol) extends Tree
+case class Block(stats: List[Tree], expr: Tree) extends Tree
+case class New(sym: Tree) extends Tree
+case class If(condition: Tree, trueCase: Tree, falseCase: Tree) extends Tree
+case class Assign(destination: Tree, source: Tree) extends Tree
+case class Target(sym: LabelSymbol, body: Tree) extends Tree
+case class Goto(target: LabelSymbol) extends Tree
+case class ValDef(sym: Symbol, rhs: Tree) extends Tree
+
+//Monomorphic
+case class ClassDef(sym: Symbol, tpe: Type, impl: Template) extends Tree
+case class DefDef(sym: Symbol, vparamss: List[List[Tree]], ret: Type, rhs: Tree) extends Tree
+case class Super(psym: Symbol) extends Tree
+case class Template(parents: List[Type], body: List[Tree]) extends Tree