Packages

p

org.scalajs.linker

standard

package standard

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. final class CommonPhaseConfig extends AnyRef

    Common configuration given to all phases of the linker.

  2. final class CoreSpec extends AnyRef

    Core specification for the Scala.js code.

  3. final class LinkedClass extends AnyRef

    A ClassDef after linking.

    A ClassDef after linking.

    Note that the version in the LinkedClass does not cover methods nor exportedMembers as they have their individual versions. (The collections themselves are not versioned).

    Moreover, the version is relative to the identity of a LinkedClass. The definition of identity varies as linked classes progress through the linking pipeline, but it only gets stronger, i.e., if two linked classes are id-different at phase P, then they must also be id-different at phase P+1. The converse is not true. This guarantees that versions can be used reliably to determine at phase P+1 whether a linked class coming from phase P must be reprocessed.

  4. final class LinkedTopLevelExport extends AnyRef
  5. abstract class LinkerBackend extends AnyRef

    A backend of a standard Scala.js linker.

    A backend of a standard Scala.js linker.

    Produces a JavaScript file with an optional source map.

    You probably want to use an instance of interface.Linker, rather than this low-level class.

  6. abstract class LinkerFrontend extends AnyRef

    A frontend for a standard Scala.js linker.

    A frontend for a standard Scala.js linker.

    Produces a ModuleSet.

    You probably want to use an instance of interface.Linker, rather than this low-level class.

    Attention: a LinkerFrontend typically does not cache the IR input. It is advisable to do so, unless all IR is already in memory.

  7. final class MemIRFileImpl extends IRFileImpl

    A simple in-memory virtual serialized Scala.js IR file.

  8. final class ModuleSet extends AnyRef

    A set of linked Scala.js modules.

    A set of linked Scala.js modules.

    The Scala.js linker distinguishes three types of modules:

    • External Modules: Modules that are imported through native JS types/members. These are not generated by Scala.js but need to be provided by the user. For example, the Node.js fs module.
    • Public Modules: Scala.js-produced modules intended for import by user code. Only these modules may hold top level exports (but may contain more). Public modules may not be imported by other Scala.js produced modules.
    • Internal Modules: Scala.js-produced modules only relevant for splitting. These are only intended to be imported by other Scala.js-produced modules.

    Note that a ModuleSet may contain no modules at all. This happens if there are no public modules.

  9. final class StandardIRFileCache extends IRFileCacheImpl
  10. sealed trait SymbolRequirement extends AnyRef
  11. final class Versioned[+T] extends AnyRef

    A versioned thing, accompanied by its version.

    A versioned thing, accompanied by its version.

    Note that, as used in LinkingUnit, the version is relative to the identity of the versioned thing. The definition of identity varies as items progress through the linking pipeline, but it only gets stronger, i.e., if two items are id-different at phase P, then they must also be id-different at phase P+1. The converse is not true. This guarantees that versions can be reliably used to determine at phase P+1 whether the given item coming from phase P must be reprocessed.

Ungrouped