abstract class LinkerBackend extends AnyRef
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.
- Alphabetic
- By Inheritance
- LinkerBackend
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new LinkerBackend()
Abstract Value Members
-
abstract
val
coreSpec: CoreSpec
Core specification that this linker backend implements.
-
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
- 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. -
abstract
val
symbolRequirements: SymbolRequirement
Symbols this backend needs to be present in the linking unit.
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( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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
- Exceptions thrown
java.lang.IllegalArgumentException
if there is a mismatch
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()