Object

org.scalajs.linker.backend.javascript

Trees

Related Doc: package javascript

Permalink

object Trees

Linear Supertypes
AnyRef, Any
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

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

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

    Permalink
  4. sealed case class BigIntLiteral(value: BigInt)(implicit pos: Position) extends Tree with Literal with Product with Serializable

    Permalink
  5. sealed 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 %=

  6. sealed class Block extends Tree

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  19. sealed 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.

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

  21. sealed case class For(init: Tree, guard: Tree, update: Tree, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  22. sealed case class ForIn(lhs: Tree, obj: Tree, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

    Permalink
  23. sealed case class Function(arrow: Boolean, args: List[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

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

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

    Permalink
  26. sealed case class Ident(name: String, originalName: OriginalName)(implicit pos: Position) extends PropertyName with Product with Serializable

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

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

    Permalink

    Dynamic import(arg).

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

    Permalink

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

  32. sealed case class IntLiteral(value: Int)(implicit pos: Position) extends Tree with Literal with Product with Serializable

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

    Permalink
  34. sealed 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).

  35. sealed trait Literal extends Tree

    Permalink

    Marker for literals.

    Marker for literals. Literals are always pure.

  36. sealed trait LocalDef extends Tree

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

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

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

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

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

    Permalink
  42. sealed trait PropertyName extends AnyRef

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

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

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

    Permalink
  46. sealed 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

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

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

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

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

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

    Permalink
  52. sealed abstract class Tree extends AnyRef

    Permalink

    AST node of JavaScript.

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

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

    Permalink
  55. sealed 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 --

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

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

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

    Permalink
  59. sealed 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