diff options
author | Burak Emir <emir@epfl.ch> | 2006-07-01 16:45:02 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2006-07-01 16:45:02 +0000 |
commit | 1292086fa53fe95b826964f25b1f5d1c9d0f9f27 (patch) | |
tree | 123dbaccefb9e0bdac8af0b53573050e04ec8983 /src/library | |
parent | 5a6a7631576f8be6aa268717b2df821a3f9c9426 (diff) | |
download | scala-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.scala | 34 |
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 |