Package com.google.gwt.core.linker
Class SymbolMapsLinker
- java.lang.Object
-
- com.google.gwt.core.ext.Linker
-
- com.google.gwt.core.ext.linker.AbstractLinker
-
- com.google.gwt.core.linker.SymbolMapsLinker
-
@LinkerOrder(POST) @Shardable public class SymbolMapsLinker extends AbstractLinker
This Linker exports the symbol maps associated with each compilation result as a private file. The names of the symbol maps files are computed by appending ".symbolMap" to the value returned byCompilationResult.getStrongName()
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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.
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description SymbolMapsLinker()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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 withShardable
.static java.lang.String
propertyMapToString(java.util.Map<SelectionProperty,java.lang.String> propertyMap)
-
Methods inherited from class com.google.gwt.core.ext.linker.AbstractLinker
emitBytes, emitBytes, emitInputStream, emitInputStream, emitString, emitString, emitWithStrongName, emitWithStrongName
-
Methods inherited from class com.google.gwt.core.ext.Linker
isShardable, relink, supportsDevModeInJunit
-
-
-
-
Field Detail
-
MAKE_SYMBOL_MAPS
public static final java.lang.String MAKE_SYMBOL_MAPS
- See Also:
- Constant Field Values
-
STRONG_NAME_SUFFIX
public static final java.lang.String STRONG_NAME_SUFFIX
This value is appended to the strong name of the CompilationResult to form the symbol map's filename.- See Also:
- Constant Field Values
-
-
Method Detail
-
propertyMapToString
public static java.lang.String propertyMapToString(java.util.Map<SelectionProperty,java.lang.String> propertyMap)
-
getDescription
public java.lang.String getDescription()
Description copied from class:Linker
Returns a human-readable String describing the Linker.- Specified by:
getDescription
in classLinker
-
link
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException
Included to support legacy non-shardable subclasses.- Overrides:
link
in classLinker
- Parameters:
logger
- the TreeLogger to record tocontext
- provides access to the Linker's environmentartifacts
- an unmodifiable view of the artifacts to link- Returns:
- the artifacts that should be propagated through the linker chain
- Throws:
UnableToCompleteException
- if compilation violates assumptions made by the Linker or for errors encountered by the Linker
-
link
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation) throws UnableToCompleteException
Description copied from class: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. TheonePermutation
istrue
for a per-permutation call andfalse
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:
- All EmittedArtifacts have been converted to BinaryEmittedArtifacts
- All artifacts not marked as
Transferable
have been discarded.
- Overrides:
link
in classLinker
- Parameters:
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 call- Returns:
- the artifacts that should be propagated through the linker chain
- Throws:
UnableToCompleteException
- if compilation violates assumptions made by the Linker or for errors encountered by the Linker
-
doEmitSymbolMap
protected void doEmitSymbolMap(TreeLogger logger, ArtifactSet artifacts, CompilationResult result, java.io.ByteArrayOutputStream out) throws UnableToCompleteException
Override to change the manner in which the symbol map is emitted.- Throws:
UnableToCompleteException
-
doWriteSymbolMap
protected void doWriteSymbolMap(TreeLogger logger, CompilationResult result, java.io.PrintWriter pw) throws UnableToCompleteException
Override to change the format of the symbol map.- Parameters:
logger
- the logger to write toresult
- the compilation resultpw
- the output PrintWriter- Throws:
UnableToCompleteException
- if an error occurs
-
emitSourceMapString
protected SyntheticArtifact emitSourceMapString(TreeLogger logger, java.lang.String contents, java.lang.String partialPath) throws UnableToCompleteException
- Throws:
UnableToCompleteException
-
-