scala.reflect.Tree.scala Maven / Gradle / Ivy
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2010, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
package scala.reflect
import collection.immutable.{List, Nil}
/** This type is required by the compiler and should not be used in client code. */
abstract class Tree
/** This type is required by the compiler and should not be used in client code. */
case class Ident(sym: Symbol) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Select(qual: Tree, sym: Symbol) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Literal(value: Any) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Apply(fun: Tree, args: List[Tree]) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class TypeApply(fun: Tree, args: List[Type]) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Function(params: List[Symbol], body: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class This(sym: Symbol) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Block(stats: List[Tree], expr: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class New(sym: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class If(condition: Tree, trueCase: Tree, falseCase: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Assign(destination: Tree, source: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Target(sym: LabelSymbol, body: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Goto(target: LabelSymbol) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class ValDef(sym: Symbol, rhs: Tree) extends Tree
//Monomorphic
/** This type is required by the compiler and should not be used in client code. */
case class ClassDef(sym: Symbol, tpe: Type, impl: Template) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class DefDef(sym: Symbol, vparamss: List[List[Tree]], ret: Type, rhs: Tree) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Super(psym: Symbol) extends Tree
/** This type is required by the compiler and should not be used in client code. */
case class Template(parents: List[Type], body: List[Tree]) extends Tree
© 2015 - 2025 Weber Informatics LLC | Privacy Policy