Class SymbolMapsLinker

    • 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