@LinkerOrder(value=POST) @Shardable public class SymbolMapsLinker extends AbstractLinker
CompilationResult.getStrongName()
.Modifier and Type | Class and Description |
---|---|
static class |
SymbolMapsLinker.ScriptFragmentEditsArtifact
Artifact to record insertions or deletions made to Javascript fragments.
|
static class |
SymbolMapsLinker.SourceMapArtifact
Artifact to represent a sourcemap file to be processed by SymbolMapsLinker.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MAKE_SYMBOL_MAPS |
static java.lang.String |
STRONG_NAME_SUFFIX
This value is appended to the strong name of the CompilationResult to form the symbol map's
filename.
|
Constructor and Description |
---|
SymbolMapsLinker() |
Modifier and Type | Method and Description |
---|---|
protected void |
doEmitSymbolMap(TreeLogger logger,
ArtifactSet artifacts,
CompilationResult result,
java.io.ByteArrayOutputStream out)
Override to change the manner in which the symbol map is emitted.
|
protected void |
doWriteSymbolMap(TreeLogger logger,
CompilationResult result,
java.io.PrintWriter pw)
Override to change the format of the symbol map.
|
protected SyntheticArtifact |
emitSourceMapString(TreeLogger logger,
java.lang.String contents,
java.lang.String partialPath) |
java.lang.String |
getDescription()
Returns a human-readable String describing the Linker.
|
ArtifactSet |
link(TreeLogger logger,
LinkerContext context,
ArtifactSet artifacts)
Included to support legacy non-shardable subclasses.
|
ArtifactSet |
link(TreeLogger logger,
LinkerContext context,
ArtifactSet artifacts,
boolean onePermutation)
This method is invoked for linkers annotated with
Shardable . |
static java.lang.String |
propertyMapToString(java.util.Map<SelectionProperty,java.lang.String> propertyMap) |
emitBytes, emitBytes, emitInputStream, emitInputStream, emitString, emitString, emitWithStrongName, emitWithStrongName
isShardable, relink, supportsDevModeInJunit
public static final java.lang.String MAKE_SYMBOL_MAPS
public static final java.lang.String STRONG_NAME_SUFFIX
public static java.lang.String propertyMapToString(java.util.Map<SelectionProperty,java.lang.String> propertyMap)
public java.lang.String getDescription()
Linker
getDescription
in class Linker
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException
link
in class Linker
logger
- the TreeLogger to record tocontext
- provides access to the Linker's environmentartifacts
- an unmodifiable view of the artifacts to linkUnableToCompleteException
- if compilation violates assumptions made
by the Linker or for errors encountered by the Linkerpublic ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation) throws UnableToCompleteException
Linker
This method is invoked for linkers annotated with Shardable
. It is
called at two points during compilation: after the compile of each
permutation, and after all compilation has finished. The
onePermutation
is true
for a per-permutation call
and false
for a global final-link call.
For one-permutation calls, this method is passed all artifacts generated for just the one permutation. For the global call at the end of compilation, this method sees artifacts for the whole compilation, but with two modifications intended to support builds on computer clusters:
Transferable
have been discarded.
link
in class Linker
logger
- the TreeLogger to record tocontext
- provides access to the Linker's environmentartifacts
- an unmodifiable view of the artifacts to linkonePermutation
- true for a one-permutation callUnableToCompleteException
- if compilation violates assumptions made
by the Linker or for errors encountered by the Linkerprotected void doEmitSymbolMap(TreeLogger logger, ArtifactSet artifacts, CompilationResult result, java.io.ByteArrayOutputStream out) throws UnableToCompleteException
UnableToCompleteException
protected void doWriteSymbolMap(TreeLogger logger, CompilationResult result, java.io.PrintWriter pw) throws UnableToCompleteException
logger
- the logger to write toresult
- the compilation resultpw
- the output PrintWriterUnableToCompleteException
- if an error occursprotected SyntheticArtifact emitSourceMapString(TreeLogger logger, java.lang.String contents, java.lang.String partialPath) throws UnableToCompleteException
UnableToCompleteException