dotty.tools.backend.sjs

JSEncoding

Related Doc: package sjs

object JSEncoding

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)

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JSEncoding
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class LocalNameGenerator extends AnyRef

  2. implicit final class MyNameOps extends AnyVal

  3. implicit final class SymOps extends AnyVal

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 def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def encodeClassFullName(sym: Symbol)(implicit ctx: Context): String

  7. def encodeClassFullNameIdent(sym: Symbol)(implicit ctx: Context, pos: Position): Ident

  8. def encodeClassType(sym: Symbol)(implicit ctx: Context): Type

  9. def encodeFieldSym(sym: Symbol)(implicit ctx: Context, pos: Position): Ident

  10. def encodeLabelSym(sym: Symbol)(implicit ctx: Context, pos: Position, localNames: LocalNameGenerator): Ident

  11. def encodeLocalSym(sym: Symbol)(implicit ctx: Context, pos: Position, localNames: LocalNameGenerator): Ident

  12. def encodeMethodName(sym: Symbol, reflProxy: Boolean = false)(implicit ctx: Context): String

  13. def encodeMethodSym(sym: Symbol, reflProxy: Boolean = false)(implicit ctx: Context, pos: Position): Ident

  14. def encodeRTStringCtorSym(sym: Symbol)(implicit ctx: Context, pos: Position): Ident

    Encodes a constructor symbol of java.lang.String for use in RuntimeString.

    Encodes a constructor symbol of java.lang.String for use in RuntimeString.

    • The name is rerouted to newString
    • The result type is set to java.lang.String
  15. def encodeRTStringMethodSym(sym: Symbol)(implicit ctx: Context, pos: Position): Ident

    Encodes a method symbol of java.lang.String for use in RuntimeString.

    Encodes a method symbol of java.lang.String for use in RuntimeString.

    This basically means adding an initial parameter of type java.lang.String, which is the this parameter.

  16. def encodeStaticMemberSym(sym: Symbol)(implicit ctx: Context, pos: Position): Ident

  17. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. def foreignIsImplClass(sym: Symbol)(implicit ctx: Context): Boolean

  21. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean

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

    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  27. def patchedResultType(sym: Symbol)(implicit ctx: Context): Type

    Patches the result type of a method symbol to sanitize it.

    Patches the result type of a method symbol to sanitize it.

    For some reason, dotc thinks that the info.resultTypeof an isConstructor method (for classes or traits) is the enclosing class or trait, but the bodies and usages act as if the result type was Unit.

    This method returns UnitType for constructor methods, and otherwise sym.info.resultType.

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  29. def toIRType(tp: Type)(implicit ctx: Context): Type

  30. def toReferenceType(tp: Type)(implicit ctx: Context): ReferenceType

  31. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped