sealed case class JSSuperConstructorCall(args: List[TreeOrJSSpread])(implicit pos: Position) extends Tree with Product with Serializable
Super constructor call in the constructor of a non-native JS class.
Exactly one such node must appear in the constructor of a
non-native JS class, at the top-level (possibly as a direct child
of a top-level Block). Any other use of this node is invalid.
Statements before this node, as well as the args, cannot contain any
This() node. Statements after this node can use This().
After the execution of this node, it is guaranteed that all fields declared in the current class have been created and initialized. Up to that point, accessing any field declared in this class (e.g., through an overridden method called from the super constructor) is undefined behavior.
All in all, the shape of a constructor is therefore:
{
statementsNotUsingThis();
JSSuperConstructorCall(...argsNotUsingThis);
statementsThatMayUseThis()
}which currently translates to something of the following shape:
{
statementsNotUsingThis();
super(...argsNotUsingThis);
this.privateField1 = 0;
this["publicField2"] = false;
statementsThatMayUseThis()
}- Alphabetic
- By Inheritance
- JSSuperConstructorCall
- Serializable
- Product
- Equals
- Tree
- TreeOrJSSpread
- IRNode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new JSSuperConstructorCall(args: List[TreeOrJSSpread])(implicit pos: Position)
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
- val args: List[TreeOrJSSpread]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- 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()
- implicit val pos: Position
- Definition Classes
- JSSuperConstructorCall → IRNode
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def show: String
- Definition Classes
- IRNode
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val tpe: NoType.type
- Definition Classes
- JSSuperConstructorCall → Tree
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()