blob: 0458cb534168c210fd2b77bb5d9e21c836afe7c4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2005, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
// $Id$
package scala.reflect;
abstract class Code;
case class Ident(sym: Symbol) extends Code;
case class Select(qual: Code, sym: Symbol) extends Code;
case class Literal(value: Any) extends Code;
case class Apply(fun: Code, args: List[Code]) extends Code;
case class TypeApply(fun: Code, args: List[Type]) extends Code;
case class Function(params: List[Symbol], body: Code) extends Code;
case class This(sym: Symbol) extends Code;
case class Block(stats: List[Code], expr: Code) extends Code;
case class New(sym: Code) extends Code;
case class If(condition: Code, trueCase: Code, falseCase: Code) extends Code;
case class Assign(destination: Code, source: Code) extends Code;
case class Target(sym: LabelSymbol, body: Code) extends Code;
case class Goto(target: LabelSymbol) extends Code;
|