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
- @throws( ... )
-
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
- 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
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def withNewLocalNameScope[A](body: ⇒ A): A
- def withNewReturnableScope(tpe: Type)(body: ⇒ Tree)(implicit pos: Position): Tree