Trait

org.scalajs.nscplugin

JSEncoding

Related Doc: package nscplugin

Permalink

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
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

    Permalink
    Definition Classes
    SubComponent

Abstract Value Members

  1. abstract val global: Global

    Permalink
    Definition Classes
    SubComponent
  2. abstract def newPhase(prev: Phase): Phase

    Permalink
    Definition Classes
    SubComponent
  3. abstract val phaseName: String

    Permalink
    Definition Classes
    SubComponent
  4. abstract val runsAfter: List[String]

    Permalink
    Definition Classes
    SubComponent
  5. abstract val runsRightAfter: Option[String]

    Permalink
    Definition Classes
    SubComponent

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final val InnerSep: String("_")

    Permalink

    Inner separator character (replace dots in full names)

  5. final val JSSuperClassParamName: String("$superClass")

    Permalink

    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 the current local name scope was created with withNewLocalNameScopeUsingJSSuperClassParamName. Otherwise, this name can clash with another local identifier.

  6. final val OuterSep: String("__")

    Permalink

    Outer separator string (between parameter types)

  7. final val ScalaJSEnvironmentName: String("ScalaJS")

    Permalink

    Name given to the local Scala.js environment variable

  8. final def afterOwnPhase[T](op: ⇒ T): T

    Permalink
    Definition Classes
    SubComponent
    Annotations
    @inline()
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. final def beforeOwnPhase[T](op: ⇒ T): T

    Permalink
    Definition Classes
    SubComponent
    Annotations
    @inline()
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final val dceExportName: String("<exported>")

    Permalink

    Name given to all exported stuff of a class for DCE

  13. def enabled: Boolean

    Permalink
    Definition Classes
    SubComponent
  14. def encodeClassFullName(sym: scala.tools.nsc.Global.Symbol): String

    Permalink
  15. def encodeClassFullNameIdent(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident

    Permalink
  16. def encodeClassType(sym: scala.tools.nsc.Global.Symbol): Type

    Permalink
  17. def encodeComputedNameIdentity(sym: scala.tools.nsc.Global.Symbol): String

    Permalink
  18. def encodeFieldSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident

    Permalink
  19. def encodeLabelSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident

    Permalink
  20. def encodeLocalSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident

    Permalink
  21. def encodeMethodName(sym: scala.tools.nsc.Global.Symbol, reflProxy: Boolean = false): String

    Permalink
  22. def encodeMethodSym(sym: scala.tools.nsc.Global.Symbol, reflProxy: Boolean = false)(implicit pos: scala.tools.nsc.Global.Position): Ident

    Permalink
  23. def encodeStaticMemberSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident

    Permalink
  24. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  27. def foreignIsImplClass(sym: scala.tools.nsc.Global.Symbol): Boolean

    Permalink
  28. def freshLocalIdent(base: String)(implicit pos: Position): Ident

    Permalink
  29. def freshLocalIdent()(implicit pos: Position): Ident

    Permalink
  30. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    SubComponent → AnyRef → Any
  32. val initial: Boolean

    Permalink
    Definition Classes
    SubComponent
  33. val internal: Boolean

    Permalink
    Definition Classes
    SubComponent
  34. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  35. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  36. def needsModuleClassSuffix(sym: scala.tools.nsc.Global.Symbol): Boolean

    Permalink
  37. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  39. def ownPhase: Phase

    Permalink
    Definition Classes
    SubComponent
  40. def phaseNewFlags: Long

    Permalink
    Definition Classes
    SubComponent
  41. def phaseNextFlags: Long

    Permalink
    Definition Classes
    SubComponent
  42. val requires: List[String]

    Permalink
    Definition Classes
    SubComponent
  43. def reserveLocalName(name: String): Unit

    Permalink
  44. val runsBefore: List[String]

    Permalink
    Definition Classes
    SubComponent
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  46. val terminal: Boolean

    Permalink
    Definition Classes
    SubComponent
  47. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. def withNewLocalNameScope[A](body: ⇒ A): A

    Permalink

Inherited from SubComponent

Inherited from AnyRef

Inherited from Any

Ungrouped