abstract class LinkerBackendImpl extends LinkerBackend
A backend of the 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.
- Alphabetic
- By Inheritance
- LinkerBackendImpl
- LinkerBackend
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def emit(unit: LinkingUnit, output: LinkerOutput, logger: Logger)(implicit ec: ExecutionContext): Future[Unit]
Emit the given LinkingUnit to the target output.
Emit the given LinkingUnit to the target output.
The linking unit given to
emit
must:- have the same
coreSpec
as this linker backend, and - contain the symbols listed in symbolRequirements.
- unit
LinkingUnit to emit
- output
File to write to
- logger
Logger to use
- Definition Classes
- LinkerBackend
- have the same
- abstract def injectedIRFiles: Seq[IRFile]
Additional IR files to inject for linking, mandated by this back-end.
Additional IR files to inject for linking, mandated by this back-end.
Example: the standard emitter back-end injects
RuntimeLong.sjsir
and its companion object, unless it usesBigInt
s to implementLong
s.- Definition Classes
- LinkerBackend
- abstract val symbolRequirements: SymbolRequirement
Symbols this backend needs to be present in the linking unit.
Symbols this backend needs to be present in the linking unit.
- Definition Classes
- LinkerBackend
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val config: Config
- Attributes
- protected
- val coreSpec: CoreSpec
Core specification that this linker backend implements.
Core specification that this linker backend implements.
- Definition Classes
- LinkerBackendImpl → LinkerBackend
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def verifyUnit(unit: LinkingUnit): Unit
Verify that a LinkingUnit can be processed by this LinkerBackend.
Verify that a LinkingUnit can be processed by this LinkerBackend.
Currently, this only tests that the linking unit core specification matches coreSpec.
In the future, this test could be extended to test symbolRequirements too.
- Attributes
- protected
- Definition Classes
- LinkerBackend
- Exceptions thrown
java.lang.IllegalArgumentException
if there is a mismatch
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()