object Trees
- Alphabetic
- By Inheritance
- Trees
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
sealed
case class
Apply(fun: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
Syntactic apply.
Syntactic apply. It is a method call if fun is a dot-select or bracket-select. It is a function call otherwise.
- sealed case class ArrayConstr(items: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Assign(lhs: Tree, rhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class BigIntLiteral(value: BigInt)(implicit pos: Position) extends Tree with Literal with Product with Serializable
-
sealed
case class
BinaryOp(op: Code, lhs: Tree, rhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable
Binary operation (always preserves pureness).
Binary operation (always preserves pureness).
Operations which do not preserve pureness are not allowed in this tree. These are notably +=, -=, *=, /= and %=
- sealed class Block extends Tree
- sealed case class BooleanLiteral(value: Boolean)(implicit pos: Position) extends Tree with Literal with Product with Serializable
- sealed case class BracketSelect(qualifier: Tree, item: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Break(label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class ClassDef(className: Option[Ident], parentClass: Option[Tree], members: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class ComputedName(tree: Tree) extends PropertyName with Product with Serializable
- sealed case class Continue(label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Debugger()(implicit pos: Position) extends Tree with Product with Serializable
-
sealed
case class
DelayedIdent(resolver: Resolver, originalName: OriginalName)(implicit pos: Position) extends MaybeDelayedIdent with Product with Serializable
An ident whose real name will be resolved later.
- sealed case class Delete(prop: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class DoWhile(body: Tree, cond: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class DotSelect(qualifier: Tree, item: MaybeDelayedIdent)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class DoubleLiteral(value: Double)(implicit pos: Position) extends Tree with Literal with Product with Serializable
-
sealed
case class
Export(bindings: List[(Ident, ExportName)])(implicit pos: Position) extends Tree with Product with Serializable
export
statement.export
statement.This corresponds to the following syntax:
export { <binding1_1> as <binding1_2>, ..., <bindingN_1> as <bindingN_2> }
The
_1
parts of bindings are therefore the identifiers from the current module that are exported. The_2
parts are the names under which they are exported to other modules. -
sealed
case class
ExportImport(bindings: List[(ExportName, ExportName)], from: StringLiteral)(implicit pos: Position) extends Tree with Product with Serializable
"forwarding"
export
statement."forwarding"
export
statement.This corresponds to the following syntax:
export { <binding1_1> as <binding1_2>, ..., <bindingN_1> as <bindingN_2> } from <from>
The
_1
parts of bindings are the identifiers that are imported. The_2
parts are the names under which they are exported. -
sealed
case class
ExportName(name: String)(implicit pos: Position) extends Product with Serializable
The name of an ES module export.
The name of an ES module export.
It must be a valid
IdentifierName
, as tested by ExportName.isValidExportName. - sealed case class For(init: Tree, guard: Tree, update: Tree, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class ForIn(lhs: Tree, obj: Tree, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Function(arrow: Boolean, args: List[ParamDef], restParam: Option[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class FunctionDef(name: Ident, args: List[ParamDef], restParam: Option[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class GetterDef(static: Boolean, name: PropertyName, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Ident(name: String, originalName: OriginalName)(implicit pos: Position) extends MaybeDelayedIdent with Product with Serializable
- sealed case class If(cond: Tree, thenp: Tree, elsep: Tree)(implicit pos: Position) extends Tree with Product with Serializable
-
sealed
case class
Import(bindings: List[(ExportName, Ident)], from: StringLiteral)(implicit pos: Position) extends Tree with Product with Serializable
import
statement, except namespace import.import
statement, except namespace import.This corresponds to the following syntax:
import { <binding1_1> as <binding1_2>, ..., <bindingN_1> as <bindingN_2> } from <from>
The
_1
parts of bindings are therefore the identifier names that are imported, as specified inexport
clauses of the module. The_2
parts are the names under which they are imported in the current module.Special cases:
- When
_1.name == _2.name
, there is shorter syntax in ES, i.e.,import { binding } from 'from'
. - When
_1.name == "default"
, it is equivalent to a default import.
- When
-
sealed
case class
ImportCall(arg: Tree)(implicit pos: Position) extends Tree with Product with Serializable
Dynamic
import(arg)
. -
sealed
case class
ImportMeta()(implicit pos: Position) extends Tree with Product with Serializable
Meta-property
import.meta
. -
sealed
case class
ImportNamespace(binding: Ident, from: StringLiteral)(implicit pos: Position) extends Tree with Product with Serializable
Namespace
import
statement.Namespace
import
statement.This corresponds to the following syntax:
import * as <binding> from <from>
-
sealed
case class
IncDec(prefix: Boolean, inc: Boolean, arg: Tree)(implicit pos: Position) extends Tree with Product with Serializable
++x
,x++
,--x
orx--
. - sealed case class IntLiteral(value: Int)(implicit pos: Position) extends Tree with Literal with Product with Serializable
- sealed case class JSDocConstructor(tree: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Labeled(label: Ident, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
-
sealed
case class
Let(name: Ident, mutable: Boolean, rhs: Option[Tree])(implicit pos: Position) extends Tree with LocalDef with Product with Serializable
ES6 let or const (depending on the mutable flag).
-
sealed
trait
Literal extends Tree
Marker for literals.
Marker for literals. Literals are always pure.
- sealed trait LocalDef extends Tree
- sealed trait MaybeDelayedIdent extends PropertyName
- sealed case class MethodDef(static: Boolean, name: PropertyName, args: List[ParamDef], restParam: Option[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class New(ctor: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
-
sealed
case class
NewTarget()(implicit pos: Position) extends Tree with Product with Serializable
Meta-property
new.target
. - sealed case class Null()(implicit pos: Position) extends Tree with Literal with Product with Serializable
- sealed case class ObjectConstr(fields: List[(PropertyName, Tree)])(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class ParamDef(name: Ident)(implicit pos: Position) extends Tree with LocalDef with Product with Serializable
-
sealed
case class
PrintedTree(jsCode: Array[Byte], sourceMapFragment: Fragment) extends Tree with Product with Serializable
An already printed tree.
An already printed tree.
This is a special purpose node to store partially transformed trees.
A cleaner abstraction would be to have something like ir.Tree.Transient (for different output formats), but for now, we do not need this.
- sealed trait PropertyName extends AnyRef
- sealed case class Return(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class SetterDef(static: Boolean, name: PropertyName, param: ParamDef, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Skip()(implicit pos: Position) extends Tree with Product with Serializable
-
sealed
case class
Spread(items: Tree)(implicit pos: Position) extends Tree with Product with Serializable
...items
, the "spread" operator of ECMAScript 6....items
, the "spread" operator of ECMAScript 6.It is only valid in ECMAScript 6, in the
args
/items
of a New, Apply, or ArrayConstr.- items
An iterable whose items will be spread
- sealed case class StringLiteral(value: String)(implicit pos: Position) extends Tree with Literal with PropertyName with Product with Serializable
- sealed case class Super()(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Switch(selector: Tree, cases: List[(Tree, Tree)], default: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class This()(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class Throw(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable
-
sealed abstract
class
Tree extends AnyRef
AST node of JavaScript.
- sealed case class TryCatch(block: Tree, errVar: Ident, handler: Tree)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class TryFinally(block: Tree, finalizer: Tree)(implicit pos: Position) extends Tree with Product with Serializable
-
sealed
case class
UnaryOp(op: Code, lhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable
Unary operation (always preserves pureness).
Unary operation (always preserves pureness).
Operations which do not preserve pureness are not allowed in this tree. These are notably ++ and --
- sealed case class Undefined()(implicit pos: Position) extends Tree with Literal with Product with Serializable
- sealed case class VarDef(name: Ident, rhs: Option[Tree])(implicit pos: Position) extends Tree with LocalDef with Product with Serializable
- sealed case class VarRef(ident: Ident)(implicit pos: Position) extends Tree with Product with Serializable
- sealed case class While(cond: Tree, body: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- object BinaryOp extends Serializable
- object Block
- object DelayedIdent extends Serializable
- object ExportName extends Serializable
- object Ident extends Serializable
- object If extends Serializable
- object PrintedTree extends Serializable
- object UnaryOp extends Serializable