dotty.tools.backend.sjs

Type members

Classlikes

class GenSJSIR extends Phase

Generates Scala.js IR files for the compilation unit.

Generates Scala.js IR files for the compilation unit.

class JSCodeGen(using genCtx: Context)

Main codegen for Scala.js IR.

Main codegen for Scala.js IR.

GenSJSIR creates one instance of JSCodeGen per compilation unit. The run() method processes the whole compilation unit and generates .sjsir files for it.

There are 4 main levels of translation:

  • genCompilationUnit() iterates through all the type definitions in the compilation unit. Each generated js.ClassDef is serialized to an .sjsir file.
  • genScalaClass() and other similar methods generate the skeleton of classes.
  • genMethod() and similar methods generate the declarations of methods.
  • genStatOrExpr() and everything else generate the bodies of methods.
Companion
object
object JSCodeGen
Companion
class
Companion
class
final class JSDefinitions(using `x$1`: Context)
Companion
object
object JSEncoding

Encoding of symbol names for JavaScript

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

Sébastien Doeraene

final class JSExportsGen(jsCodeGen: JSCodeGen)(using `x$2`: Context)
object JSInterop

Management of the interoperability with JavaScript.

Management of the interoperability with JavaScript.

This object only contains forwarders for extension methods in transform.sjs.JSSymUtils. They are kept to minimize changes in JSCodeGen in the short term, but it will eventually be removed.

class JSPositions(using `x$1`: Context)

Conversion utilities from dotty Positions to IR Positions.

Conversion utilities from dotty Positions to IR Positions.

Companion
object
object JSPositions
Companion
class
object JSPrimitives
Companion
class
class JSPrimitives(ictx: Context) extends DottyPrimitives
Companion
object
class ScopedVar[A](init: A)
Companion
object
object ScopedVar
Companion
class