Packages

object Trees

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Trees
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. 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.

  2. sealed case class ArrayConstr(items: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
  3. sealed case class Assign(lhs: Tree, rhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  4. sealed case class Await(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  5. sealed case class BigIntLiteral(value: BigInt)(implicit pos: Position) extends Tree with Literal with Product with Serializable
  6. 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 %=

  7. sealed class Block extends Tree
  8. sealed case class BooleanLiteral(value: Boolean)(implicit pos: Position) extends Tree with Literal with Product with Serializable
  9. sealed case class BracketSelect(qualifier: Tree, item: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  10. sealed case class Break(label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
  11. sealed case class ClassDef(className: Option[MaybeDelayedIdent], parentClass: Option[Tree], members: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
  12. sealed case class ComputedName(tree: Tree) extends PropertyName with Product with Serializable
  13. sealed case class Continue(label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
  14. sealed case class Debugger()(implicit pos: Position) extends Tree with Product with Serializable
  15. 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.

  16. sealed case class Delete(prop: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  17. sealed case class DoWhile(body: Tree, cond: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable
  18. sealed case class DotSelect(qualifier: Tree, item: MaybeDelayedIdent)(implicit pos: Position) extends Tree with Product with Serializable
  19. sealed case class DoubleLiteral(value: Double)(implicit pos: Position) extends Tree with Literal with Product with Serializable
  20. sealed case class Export(bindings: List[(MaybeDelayedIdent, 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.

  21. 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.

  22. 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.

  23. sealed case class For(init: Tree, guard: Tree, update: Tree, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  24. sealed case class ForIn(lhs: Tree, obj: Tree, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  25. sealed case class Function(arrow: Boolean, args: List[ParamDef], restParam: Option[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  26. sealed case class FunctionDef(name: MaybeDelayedIdent, args: List[ParamDef], restParam: Option[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  27. sealed case class GetterDef(static: Boolean, name: PropertyName, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  28. sealed case class Ident(name: String, originalName: OriginalName)(implicit pos: Position) extends MaybeDelayedIdent with Product with Serializable
  29. sealed case class If(cond: Tree, thenp: Tree, elsep: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  30. sealed case class Import(bindings: List[(ExportName, MaybeDelayedIdent)], 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 in export 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.
  31. sealed case class ImportCall(arg: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Dynamic import(arg).

  32. sealed case class ImportMeta()(implicit pos: Position) extends Tree with Product with Serializable

    Meta-property import.meta.

  33. sealed case class ImportNamespace(binding: MaybeDelayedIdent, 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>
  34. sealed case class IncDec(prefix: Boolean, inc: Boolean, arg: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    ++x, x++, --x or x--.

  35. sealed case class IntLiteral(value: Int)(implicit pos: Position) extends Tree with Literal with Product with Serializable
  36. sealed case class JSDocConstructor(tree: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  37. sealed case class Labeled(label: Ident, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  38. sealed case class Let(name: MaybeDelayedIdent, 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).

  39. sealed trait Literal extends Tree

    Marker for literals.

    Marker for literals. Literals are always pure.

  40. sealed trait LocalDef extends Tree
  41. sealed abstract class MaybeDelayedIdent extends PropertyName
  42. 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
  43. sealed case class New(ctor: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable
  44. sealed case class NewTarget()(implicit pos: Position) extends Tree with Product with Serializable

    Meta-property new.target.

  45. sealed case class Null()(implicit pos: Position) extends Tree with Literal with Product with Serializable
  46. sealed case class ObjectConstr(fields: List[(PropertyName, Tree)])(implicit pos: Position) extends Tree with Product with Serializable
  47. sealed case class ParamDef(name: MaybeDelayedIdent)(implicit pos: Position) extends Tree with LocalDef with Product with Serializable
  48. 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.

  49. sealed trait PropertyName extends AnyRef
  50. sealed case class Return(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  51. sealed case class SetterDef(static: Boolean, name: PropertyName, param: ParamDef, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  52. sealed case class Skip()(implicit pos: Position) extends Tree with Product with Serializable
  53. 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

  54. sealed case class StringLiteral(value: String)(implicit pos: Position) extends Tree with Literal with PropertyName with Product with Serializable
  55. sealed case class Super()(implicit pos: Position) extends Tree with Product with Serializable
  56. sealed case class Switch(selector: Tree, cases: List[(Tree, Tree)], default: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  57. sealed case class This()(implicit pos: Position) extends Tree with Product with Serializable
  58. sealed case class Throw(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  59. sealed abstract class Tree extends AnyRef

    AST node of JavaScript.

  60. sealed case class TryCatch(block: Tree, errVar: MaybeDelayedIdent, handler: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  61. sealed case class TryFinally(block: Tree, finalizer: Tree)(implicit pos: Position) extends Tree with Product with Serializable
  62. 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 --

  63. sealed case class Undefined()(implicit pos: Position) extends Tree with Literal with Product with Serializable
  64. sealed case class VarDef(name: MaybeDelayedIdent, rhs: Option[Tree])(implicit pos: Position) extends Tree with LocalDef with Product with Serializable
  65. sealed case class VarRef(ident: MaybeDelayedIdent)(implicit pos: Position) extends Tree with Product with Serializable
  66. sealed case class While(cond: Tree, body: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. object Apply extends Serializable
  21. object BinaryOp extends Serializable
  22. object Block
  23. object BracketSelect extends Serializable
  24. object DelayedIdent extends Serializable
  25. object ExportName extends Serializable
  26. object Ident extends Serializable
  27. object If extends Serializable
  28. object PrintedTree extends Serializable
  29. object UnaryOp extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped