scala.scalajs.ir

Trees

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
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class Apply(receiver: Tree, method: Ident, args: List[Tree])(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

  2. case class ArrayLength(array: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  3. case class ArraySelect(array: Tree, index: Tree)(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

  4. case class ArrayValue(tpe: ArrayType, elems: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  5. case class AsInstanceOf(expr: Tree, cls: ReferenceType)(implicit pos: Position) extends Tree with Product with Serializable

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

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

    Binary operation (always preserves pureness).

  8. class Block extends Tree

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

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

  11. case class CallHelper(helper: String, args: List[Tree])(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

  12. case class Cast(expr: Tree, tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

    Hard-cast (unchecked at compile-time, erased at runtime).

    Hard-cast (unchecked at compile-time, erased at runtime). Used for low-level stuff.

  13. case class ClassDef(name: Ident, kind: ClassKind, parent: Option[Ident], ancestors: List[Ident], defs: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  14. case class ClassOf(cls: ReferenceType)(implicit pos: Position) extends Tree with Product with Serializable

  15. case class Closure(thisType: Type, args: List[ParamDef], resultType: Type, body: Tree, captures: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

    Closure with explicit captures.

    Closure with explicit captures. The n captures map to the n first formal arguments.

  16. case class ConstructorExportDef(name: String, args: List[ParamDef], body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

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

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

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

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

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

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

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

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

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

  26. case class IsInstanceOf(expr: Tree, cls: ReferenceType)(implicit pos: Position) extends Tree with Product with Serializable

  27. case class JSApply(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. Just like in JavaScript.

  28. case class JSArrayConstr(items: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  29. case class JSBinaryOp(op: String, 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 %=

  30. case class JSBracketMethodApply(receiver: Tree, method: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  31. case class JSBracketSelect(qualifier: Tree, item: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  32. case class JSDelete(obj: Tree, prop: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  33. case class JSDotMethodApply(receiver: Tree, method: Ident, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  34. case class JSDotSelect(qualifier: Tree, item: Ident)(implicit pos: Position) extends Tree with Product with Serializable

  35. case class JSFunctionApply(fun: Tree, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  36. case class JSGlobal()(implicit pos: Position) extends Tree with Product with Serializable

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

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

  39. case class JSUnaryOp(op: String, 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 --

  40. case class Labeled(label: Ident, tpe: Type, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  41. sealed trait Literal extends Tree

    Marker for literals.

    Marker for literals. Literals are always pure.

  42. case class LoadModule(cls: ClassType)(implicit pos: Position) extends Tree with Product with Serializable

  43. case class Match(selector: Tree, cases: List[(List[Tree], Tree)], default: Tree)(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

    A break-free switch (without fallthrough behavior).

    A break-free switch (without fallthrough behavior). Unlike Switch, it can be used in expression position. It supports alternatives explicitly (hence the List[Tree] in cases), whereas in a Switch one would use the fallthrough behavior to implement alternatives. (This is not a pattern matching construct like in Scala.)

  44. case class MethodDef(name: PropertyName, args: List[ParamDef], resultType: Type, body: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  45. case class ModuleExportDef(fullName: String)(implicit pos: Position) extends Tree with Product with Serializable

  46. case class New(cls: ClassType, ctor: Ident, args: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  47. case class NewArray(tpe: ArrayType, lengths: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

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

  49. case class ParamDef(name: Ident, ptpe: Type, mutable: Boolean)(implicit pos: Position) extends Tree with Product with Serializable

  50. case class PropertyDef(name: PropertyName, getterBody: Tree, setterArg: ParamDef, setterBody: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  51. sealed trait PropertyName extends AnyRef

  52. case class RecordValue(tpe: RecordType, elems: List[Tree])(implicit pos: Position) extends Tree with Product with Serializable

  53. case class Return(expr: Tree, label: Option[Ident] = None)(implicit pos: Position) extends Tree with Product with Serializable

  54. case class Select(qualifier: Tree, item: Ident, mutable: Boolean)(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

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

  56. case class StaticApply(receiver: Tree, cls: ClassType, method: Ident, args: List[Tree])(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

  57. case class StoreModule(cls: ClassType, value: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  58. case class StringLiteral(value: String, originalName: Option[String])(implicit pos: Position) extends Tree with Literal with PropertyName with Product with Serializable

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

  60. case class This()(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

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

  62. case class TraitImplApply(impl: ClassType, method: Ident, args: List[Tree])(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

  63. sealed abstract class Tree extends AnyRef

    AST node of the IR.

  64. case class Try(block: Tree, errVar: Ident, handler: Tree, finalizer: Tree)(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

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

    Unary operation (always preserves pureness).

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

  67. case class UndefinedParam()(tpe: Type)(implicit pos: Position) extends Tree with Literal with Product with Serializable

  68. case class VarDef(name: Ident, vtpe: Type, mutable: Boolean, rhs: Tree)(implicit pos: Position) extends Tree with Product with Serializable

  69. case class VarRef(ident: Ident, mutable: Boolean)(tpe: Type)(implicit pos: Position) extends Tree with Product with Serializable

  70. 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. object BinaryOp extends Serializable

  5. object Block

  6. object CallHelper extends Serializable

  7. object EmptyTree extends Tree with Product with Serializable

  8. object Ident extends Serializable

  9. object StringLiteral extends Serializable

  10. object UnaryOp extends Serializable

  11. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  12. def clone(): AnyRef

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

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

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

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

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

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

    Definition Classes
    Any
  19. final val isKeyword: Set[String]

  20. final def isValidIdentifier(name: String): Boolean

  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. final def requireValidIdent(name: String): Unit

    Annotations
    @inline()
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped