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(moduleSet: ModuleSet, output: OutputDirectory, logger: Logger)(implicit ec: ExecutionContext): Future[Report]
Emit the given ModuleSet to the target output.
Emit the given ModuleSet 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.
- moduleSet
ModuleSet to emit
- output
Directory 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
verifyModuleSet(moduleSet: ModuleSet): Unit
Verify that a ModuleSet can be processed by this LinkerBackend.
Verify that a ModuleSet can be processed by this LinkerBackend.
Currently, this only tests that the module set 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()