Object

org.scalajs.core.tools.javascript

Trees

Related Doc: package javascript

Permalink

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. case class Apply(fun: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

    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. case class ArrayConstr(items: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  3. case class Assign(lhs: Tree, rhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  4. case class BinaryOp(op: Code, lhs: Tree, rhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

    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 %=

  5. class Block extends Tree

    Permalink
  6. case class BooleanLiteral(value: Boolean)(implicit pos: Position) extends Tree with Literal with Product with Serializable

    Permalink
  7. case class BracketSelect(qualifier: Tree, item: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  8. case class Break(label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  9. case class ClassDef(className: Option[Ident], parentClass: Option[Tree], members: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  10. case class ComputedName(tree: Tree) extends PropertyName with Product with Serializable

    Permalink
  11. case class Continue(label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  12. case class Debugger()(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  13. case class Delete(prop: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  14. case class DoWhile(body: Tree, cond: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  15. case class DocComment(text: String)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  16. case class DotSelect(qualifier: Tree, item: Ident)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  17. case class DoubleLiteral(value: Double)(implicit pos: Position) extends Tree with Literal with Product with Serializable

    Permalink
  18. case class Export(bindings: List[(Ident, ExportName)])(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

    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.

  19. case class ExportName(name: String)(implicit pos: Position) extends Product with Serializable

    Permalink

    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.

  20. case class Function(args: List[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  21. case class FunctionDef(name: Ident, args: List[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  22. case class GetterDef(static: Boolean, name: PropertyName, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  23. case class Ident(name: String, originalName: Option[String])(implicit pos: Position) extends PropertyName with Product with Serializable

    Permalink
  24. case class If(cond: Tree, thenp: Tree, elsep: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  25. case class Import(bindings: List[(ExportName, Ident)], from: StringLiteral)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

    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.
  26. case class ImportCall(arg: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

    Dynamic import(arg).

  27. case class ImportNamespace(binding: Ident, from: StringLiteral)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

    Namespace import statement.

    Namespace import statement.

    This corresponds to the following syntax:

    import * as <binding> from <from>
  28. case class IntLiteral(value: Int)(implicit pos: Position) extends Tree with Literal with Product with Serializable

    Permalink
  29. case class Labeled(label: Ident, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  30. case class Let(name: Ident, mutable: Boolean, rhs: Option[Tree])(implicit pos: Position) extends Tree with LocalDef with Product with Serializable

    Permalink

    ES6 let or const (depending on the mutable flag).

  31. sealed trait Literal extends Tree

    Permalink

    Marker for literals.

    Marker for literals. Literals are always pure.

  32. sealed trait LocalDef extends Tree

    Permalink
  33. case class MethodDef(static: Boolean, name: PropertyName, args: List[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  34. case class New(ctor: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  35. case class Null()(implicit pos: Position) extends Tree with Literal with Product with Serializable

    Permalink
  36. case class ObjectConstr(fields: List[(PropertyName, Tree)])(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  37. case class ParamDef(name: Ident, rest: Boolean)(implicit pos: Position) extends Tree with LocalDef with Product with Serializable

    Permalink
  38. sealed trait PropertyName extends AnyRef

    Permalink
  39. case class Return(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  40. case class SetterDef(static: Boolean, name: PropertyName, param: ParamDef, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  41. case class Skip()(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  42. case class Spread(items: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

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

  43. case class StringLiteral(value: String)(implicit pos: Position) extends Tree with Literal with PropertyName with Product with Serializable

    Permalink
  44. case class Super()(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  45. case class Switch(selector: Tree, cases: List[(Tree, Tree)], default: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  46. case class This()(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  47. case class Throw(expr: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  48. sealed abstract class Tree extends AnyRef

    Permalink

    AST node of JavaScript.

  49. case class TryCatch(block: Tree, errVar: Ident, handler: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  50. case class TryFinally(block: Tree, finalizer: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  51. case class UnaryOp(op: Code, lhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

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

  52. case class Undefined()(implicit pos: Position) extends Tree with Literal with Product with Serializable

    Permalink
  53. case class VarDef(name: Ident, rhs: Option[Tree])(implicit pos: Position) extends Tree with LocalDef with Product with Serializable

    Permalink
  54. case class VarRef(ident: Ident)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  55. case class While(cond: Tree, body: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object BinaryOp extends Serializable

    Permalink
  5. object Block

    Permalink
  6. object ExportName extends Serializable

    Permalink
  7. object Ident extends Serializable

    Permalink
  8. object UnaryOp extends Serializable

    Permalink
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped