trait JSEncoding extends SubComponent
Encoding of symbol names for JavaScript
Some issues that this encoding solves: * Overloading: encode the full signature in the JS name * Same scope for fields and methods of a class * Global access to classes and modules (by their full name)
- Self Type
- GenJSCode
- Alphabetic
- By Inheritance
- JSEncoding
- SubComponent
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- abstract class StdPhase extends GlobalPhase
- Definition Classes
- SubComponent
Abstract Value Members
- abstract val global: Global
- Definition Classes
- SubComponent
- abstract def newPhase(prev: Phase): Phase
- Definition Classes
- SubComponent
- abstract val phaseName: String
- Definition Classes
- SubComponent
- abstract val runsAfter: List[String]
- Definition Classes
- SubComponent
- abstract val runsRightAfter: Option[String]
- Definition Classes
- SubComponent
Concrete 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
- final val InnerSep: String("_")
Inner separator character (replace dots in full names)
- final val JSSuperClassParamName: String("$superClass")
Name of the capture param storing the JS super class.
Name of the capture param storing the JS super class.
This is used by the dispatchers of exposed JS methods and properties of nested JS classes when they need to perform a super call. Other super calls (in the actual bodies of the methods, not in the dispatchers) do not use this value, since they are implemented as static methods that do not have access to it. Instead, they get the JS super class value through the magic method inserted by
ExplicitLocalJS
, leveraginglambdalift
to ensure that it is properly captured.Using this identifier is only allowed if the current local name scope was created with withNewLocalNameScopeUsingJSSuperClassParamName. Otherwise, this name can clash with another local identifier.
- final val OuterSep: String("__")
Outer separator string (between parameter types)
- final val ScalaJSEnvironmentName: String("ScalaJS")
Name given to the local Scala.js environment variable
- final def afterOwnPhase[T](op: ⇒ T): T
- Definition Classes
- SubComponent
- Annotations
- @inline()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def beforeOwnPhase[T](op: ⇒ T): T
- Definition Classes
- SubComponent
- Annotations
- @inline()
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.CloneNotSupportedException])
- final val dceExportName: String("<exported>")
Name given to all exported stuff of a class for DCE
- def enabled: Boolean
- Definition Classes
- SubComponent
- def encodeClassFullName(sym: scala.tools.nsc.Global.Symbol): String
- def encodeClassFullNameIdent(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- def encodeClassType(sym: scala.tools.nsc.Global.Symbol): Type
- def encodeComputedNameIdentity(sym: scala.tools.nsc.Global.Symbol): String
- def encodeFieldSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- def encodeLabelSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- def encodeLocalSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- def encodeMethodName(sym: scala.tools.nsc.Global.Symbol, reflProxy: Boolean = false): String
- def encodeMethodSym(sym: scala.tools.nsc.Global.Symbol, reflProxy: Boolean = false)(implicit pos: scala.tools.nsc.Global.Position): Ident
- def encodeStaticMemberSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def foreignIsImplClass(sym: scala.tools.nsc.Global.Symbol): Boolean
- def freshLocalIdent(base: String)(implicit pos: Position): Ident
- def freshLocalIdent()(implicit pos: Position): Ident
- final def getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getEnclosingReturnLabel()(implicit pos: Position): Ident
- def hashCode(): Int
- Definition Classes
- SubComponent → AnyRef → Any
- val initial: Boolean
- Definition Classes
- SubComponent
- val internal: Boolean
- Definition Classes
- SubComponent
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def needsModuleClassSuffix(sym: scala.tools.nsc.Global.Symbol): Boolean
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def ownPhase: Phase
- Definition Classes
- SubComponent
- def phaseNewFlags: Long
- Definition Classes
- SubComponent
- def phaseNextFlags: Long
- Definition Classes
- SubComponent
- val requires: List[String]
- Definition Classes
- SubComponent
- def reserveLocalName(name: String): Unit
- val runsBefore: List[String]
- Definition Classes
- SubComponent
- final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val terminal: Boolean
- Definition Classes
- SubComponent
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- @native() @throws(classOf[java.lang.InterruptedException])
- def withNewLocalNameScope[A](body: ⇒ A): A
- def withNewReturnableScope(tpe: Type)(body: ⇒ Tree)(implicit pos: Position): Tree