GWT 2.7.0

com.google.gwt.core.linker
Class SymbolMapsLinker

java.lang.Object
  extended by com.google.gwt.core.ext.Linker
      extended by com.google.gwt.core.ext.linker.AbstractLinker
          extended by com.google.gwt.core.linker.SymbolMapsLinker

@LinkerOrder(value=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 by CompilationResult.getStrongName().


Nested Class Summary
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
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
SymbolMapsLinker()
           
 
Method Summary
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)
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

SymbolMapsLinker

public SymbolMapsLinker()
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 class Linker

link

public ArtifactSet link(TreeLogger logger,
                        LinkerContext context,
                        ArtifactSet artifacts)
                 throws UnableToCompleteException
Included to support legacy non-shardable subclasses.

Overrides:
link in class Linker
Parameters:
logger - the TreeLogger to record to
context - provides access to the Linker's environment
artifacts - 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. 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:

  1. All EmittedArtifacts have been converted to BinaryEmittedArtifacts
  2. All artifacts not marked as Transferable have been discarded.

Overrides:
link in class Linker
Parameters:
logger - the TreeLogger to record to
context - provides access to the Linker's environment
artifacts - an unmodifiable view of the artifacts to link
onePermutation - 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 to
result - the compilation result
pw - 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

GWT 2.7.0