t

org.scalajs.nscplugin

JSEncoding

trait JSEncoding[G <: Global with Singleton] 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[G]
Linear Supertypes
SubComponent, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JSEncoding
  2. SubComponent
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class StdPhase extends GlobalPhase
    Definition Classes
    SubComponent

Abstract Value Members

  1. abstract val global: Global
    Definition Classes
    SubComponent
  2. abstract def newPhase(prev: Phase): Phase
    Definition Classes
    SubComponent
  3. abstract val phaseName: String
    Definition Classes
    SubComponent
  4. abstract val runsAfter: List[String]
    Definition Classes
    SubComponent
  5. abstract val runsRightAfter: Option[String]
    Definition Classes
    SubComponent

Concrete 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. 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, leveraging lambdalift to ensure that it is properly captured.

    Using this identifier is only allowed if it was reserved in the current local name scope using reserveLocalName. Otherwise, this name can clash with another local identifier.

  5. final def afterOwnPhase[T](op: ⇒ T): T
    Definition Classes
    SubComponent
    Annotations
    @inline()
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. final def beforeOwnPhase[T](op: ⇒ T): T
    Definition Classes
    SubComponent
    Annotations
    @inline()
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def enabled: Boolean
    Definition Classes
    SubComponent
  10. def encodeClassFullName(sym: G.Symbol): String
  11. def encodeClassFullNameIdent(sym: G.Symbol)(implicit pos: G.Position): Ident
  12. def encodeClassRef(sym: G.Symbol): ClassRef
  13. def encodeClassType(sym: G.Symbol): Type
  14. def encodeComputedNameIdentity(sym: G.Symbol): String
  15. def encodeFieldSym(sym: G.Symbol)(implicit pos: G.Position): Ident
  16. def encodeLabelSym(sym: G.Symbol)(implicit pos: G.Position): Ident
  17. def encodeLocalSym(sym: G.Symbol)(implicit pos: G.Position): Ident
  18. def encodeMethodSym(sym: G.Symbol, reflProxy: Boolean = false)(implicit pos: G.Position): Ident
  19. def encodeStaticMemberSym(sym: G.Symbol)(implicit pos: G.Position): Ident
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def foreignIsImplClass(sym: G.Symbol): Boolean
  24. def freshLocalIdent(base: String)(implicit pos: Position): Ident
  25. def freshLocalIdent()(implicit pos: Position): Ident
  26. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def getEnclosingReturnLabel()(implicit pos: Position): Ident
  28. def hashCode(): Int
    Definition Classes
    SubComponent → AnyRef → Any
  29. val initial: Boolean
    Definition Classes
    SubComponent
  30. val internal: Boolean
    Definition Classes
    SubComponent
  31. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. def needsModuleClassSuffix(sym: G.Symbol): Boolean
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  36. def ownPhase: Phase
    Definition Classes
    SubComponent
  37. def phaseNewFlags: Long
    Definition Classes
    SubComponent
  38. def phaseNextFlags: Long
    Definition Classes
    SubComponent
  39. val requires: List[String]
    Definition Classes
    SubComponent
  40. def reserveLocalName(name: String): Unit
  41. val runsBefore: List[String]
    Definition Classes
    SubComponent
  42. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  43. val terminal: Boolean
    Definition Classes
    SubComponent
  44. def toString(): String
    Definition Classes
    AnyRef → Any
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  48. def withNewLocalNameScope[A](body: ⇒ A): A
  49. def withNewReturnableScope(tpe: Type)(body: ⇒ Tree)(implicit pos: Position): Tree

Inherited from SubComponent

Inherited from AnyRef

Inherited from Any

Ungrouped