Scala 2.5.0-final
API Specification

This document is the API specification for Scala Library Documentation

Class Summary
`case class` | AppliedType (`val` tpe : Type, `val` args : List[Type])`extends` Type `with` Product `tpe[args1, ..., argsn]`
`case class` | Apply (`val` fun : Tree, `val` args : List[Tree])`extends` Tree `with` Product
`case class` | Assign (`val` destination : Tree, `val` source : Tree)`extends` Tree `with` Product
`class` | BeanProperty `extends` Annotation This attribute adds a setter and a getter method, following the Java Bean convention (first letter of the property is capitalized) used by popular Java web frameworks. For example:
        @BeanProperty
        var status = ""
adds the following methods to the generated code
        def setStatus(s: String) { this.status = s }
        def getStatus: String = this.status
However, you cannot call `setStatus` from Scala, you should use the normal Scala access and assignment.
`case class` | Block (`val` stats : List[Tree], `val` expr : Tree)`extends` Tree `with` Product
`case class` | Class (`val override` fullname : String)`extends` GlobalSymbol `with` Product
`case class` | ClassDef (`val` sym : Symbol, `val` tpe : Type, `val` impl : Template)`extends` Tree `with` Product
`class` | Code [Type](`val` tree : Tree)`extends` AnyRef
`case class` | DefDef (`val` sym : Symbol, `val` vparamss : List[List[Tree]], `val` ret : Type, `val` rhs : Tree)`extends` Tree `with` Product
`case class` | Field (`val override` fullname : String, `val` tpe : Type)`extends` GlobalSymbol `with` Product
`case class` | Function (`val` params : List[Symbol], `val` body : Tree)`extends` Tree `with` Product
`abstract class` | GlobalSymbol (`val` fullname : String)`extends` Symbol
`case class` | Goto (`val` target : LabelSymbol)`extends` Tree `with` Product
`case class` | Ident (`val` sym : Symbol)`extends` Tree `with` Product
`case class` | If (`val` condition : Tree, `val` trueCase : Tree, `val` falseCase : Tree)`extends` Tree `with` Product
`class` | ImplicitMethodType (formals : List[Type], restpe : Type)`extends` MethodType
`case class` | LabelSymbol (`val` name : String)`extends` Symbol `with` Product
`case class` | Literal (`val` value : Any)`extends` Tree `with` Product
`case class` | LocalMethod (`val` owner : Symbol, `val` name : String, `val` tpe : Type)`extends` LocalSymbol `with` Product
`abstract class` | LocalSymbol `extends` Symbol
`case class` | LocalValue (`val` owner : Symbol, `val` name : String, `val` tpe : Type)`extends` LocalSymbol `with` Product
`case class` | Method (`val override` fullname : String, `val` tpe : Type)`extends` GlobalSymbol `with` Product
`case class` | MethodType (`val` formals : List[Type], `val` restpe : Type)`extends` Type `with` Product `(formals1 ... formalsn) restpe`
`case class` | NamedType (`val` fullname : String)`extends` Type `with` Product fullname
`case class` | New (`val` sym : Tree)`extends` Tree `with` Product
`case class` | PolyType (`val` typeParams : List[Symbol], `val` typeBounds : List[(Type, Type)], `val` resultType : Type)`extends` Type `with` Product
`case class` | PrefixedType (`val` pre : Type, `val` sym : Symbol)`extends` Type `with` Product pre # sym
`case class` | Select (`val` qual : Tree, `val` sym : Symbol)`extends` Tree `with` Product
`case class` | SingleType (`val` pre : Type, `val` sym : Symbol)`extends` Type `with` Product pre.type # sym == pre.sym
`case class` | Super (`val` psym : Symbol)`extends` Tree `with` Product
`abstract class` | Symbol `extends` AnyRef
`case class` | Target (`val` sym : LabelSymbol, `val` body : Tree)`extends` Tree `with` Product
`case class` | Template (`val` parents : List[Type], `val` body : List[Tree])`extends` Tree `with` Product
`case class` | This (`val` sym : Symbol)`extends` Tree `with` Product
`case class` | ThisType (`val` clazz : Symbol)`extends` Type `with` Product clazz.this
`abstract class` | Tree `extends` AnyRef
`abstract class` | Type `extends` AnyRef
`case class` | TypeApply (`val` fun : Tree, `val` args : List[Type])`extends` Tree `with` Product
`case class` | TypeBounds (`val` lo : Type, `val` hi : Type)`extends` Type `with` Product [a <: lo >: hi]
`case class` | TypeField (`val override` fullname : String, `val` tpe : Type)`extends` GlobalSymbol `with` Product
`class` | TypedCode [T](`val` code : Any)`extends` AnyRef
`case class` | ValDef (`val` sym : Symbol, `val` rhs : Tree)`extends` Tree `with` Product

Object Summary
`object` | Code `extends` AnyRef
`case object` | NoPrefix `extends` Type `with` Product
`case object` | NoSymbol `extends` Symbol `with` Product
`case object` | NoType `extends` Type `with` Product
`object` | Print `extends` (Any) => String
`case object` | RootSymbol `extends` Symbol `with` Product