package standard
- Alphabetic
- Public
- All
Type Members
-
final
class
CommonPhaseConfig extends AnyRef
Common configuration given to all phases of the linker.
-
final
class
CoreSpec extends AnyRef
Core specification for the Scala.js code.
-
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.
- final class LinkedTopLevelExport extends AnyRef
-
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.
-
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.
-
final
class
MemIRFileImpl extends IRFileImpl
A simple in-memory virtual serialized Scala.js IR file.
-
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.
- 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
- final class StandardIRFileCache extends IRFileCacheImpl
- sealed trait SymbolRequirement extends AnyRef
-
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.
Value Members
- object ModuleSet
- object StandardIRFileCache
- object StandardLinkerBackend
- object StandardLinkerFrontend
- object StandardLinkerImpl
- object SymbolRequirement