A box around a GenLinker to support clearing.
Common supertrait of Linker and ClearableLinker.
Common supertrait of Linker and ClearableLinker.
Essentially anything that has the link and linkUnit methods.
A ClassDef after linking.
A ClassDef after linking.
Note that the version in the LinkedClass does not cover staticMethods, memberMethods, abstractMethods and 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.
A MethodDef or a PropertyDef after linking.
A MethodDef or a PropertyDef after linking.
Note that the version is relative to the identity of a LinkedMember. The definition of identity varies as linked members progress through the linking pipeline, but it only gets stronger, i.e., if two linked members 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 member coming from phase P must be reprocessed.
The Scala.js linker
A box around a GenLinker to support clearing.
This further supports:
This class is not thread-safe.