com.google.gwt.core.ext.linker

## Class CompilationResult

- java.lang.Object
- - com.google.gwt.core.ext.linker.Artifact<CompilationResult>
  - - com.google.gwt.core.ext.linker.CompilationResult

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Artifact<?>>
  Direct Known Subclasses:
    DelegatingCompilationResult

      public abstract class CompilationResult
      extends Artifact<CompilationResult>

  Represents a unique compilation of the module. Multiple permutations may result in identical JavaScript.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `CompilationResult(java.lang.Class<? extends Linker> linkerType)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `compareToComparableArtifact(CompilationResult o)` Performs comparison with an artifact of a compatible base type.
    `protected java.lang.Class<CompilationResult>` | `getComparableArtifactType()` Returns the base type to use for comparisons between Artifacts.
    `abstract java.lang.String[]` | `getJavaScript()` Returns the JavaScript compilation.
    `abstract int` | `getPermutationId()` Returns the permutation ID.
    `abstract java.util.SortedSet<java.util.SortedMap<SelectionProperty,java.lang.String>>` | `getPropertyMap()` Provides values for `SelectionProperty` instances that are not explicitly set during the compilation phase.
    `abstract SoftPermutation[]` | `getSoftPermutations()` Returns the permutations of the collapsed deferred-binding property values that are compiled into the CompilationResult.
    `StatementRanges[]` | `getStatementRanges()` Returns the statement ranges for the JavaScript returned by `getJavaScript()`.
    `abstract java.lang.String` | `getStrongName()` Return a string that uniquely identifies this compilation result.
    `abstract SymbolData[]` | `getSymbolMap()` Returns a sorted array of obfuscated symbol names in the compilation to metadata about the symbol.
    `int` | `hashCode()` The class which is returned from `Artifact.getComparableArtifactType()` must declare a final implementation which returns the same hash code for objects for which `Artifact.compareToComparableArtifact(Artifact)` returns 0.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class com.google.gwt.core.ext.linker.Artifact

      `compareTo, equals, getLinker, isTransferableFromShards`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CompilationResult

          protected CompilationResult(java.lang.Class<? extends Linker> linkerType)

  - ### Method Detail

    - #### getJavaScript

          public abstract java.lang.String[] getJavaScript()

      Returns the JavaScript compilation. The first element of the array contains the code that should be run when the application starts up. The remaining elements are loaded via `GWT.runAsync`. See `AsyncFragmentLoader` for details on the necessary linker support for runAsync.

    - #### getPermutationId

          public abstract int getPermutationId()

      Returns the permutation ID.

    - #### getPropertyMap

          public abstract java.util.SortedSet<java.util.SortedMap<SelectionProperty,java.lang.String>> getPropertyMap()

      Provides values for `SelectionProperty` instances that are not explicitly set during the compilation phase. This method will return multiple mappings, one for each permutation that resulted in the compilation.

    - #### getSoftPermutations

          public abstract SoftPermutation[] getSoftPermutations()

      Returns the permutations of the collapsed deferred-binding property values that are compiled into the CompilationResult.

    - #### getStatementRanges

          public StatementRanges[] getStatementRanges()

      Returns the statement ranges for the JavaScript returned by `getJavaScript()`. Some subclasses return `null`, in which case there is no statement range information available.

    - #### getStrongName

          public abstract java.lang.String getStrongName()

      Return a string that uniquely identifies this compilation result. Typically this is a cryptographic hash of the compiled data.

    - #### getSymbolMap

          public abstract SymbolData[] getSymbolMap()

      Returns a sorted array of obfuscated symbol names in the compilation to metadata about the symbol. This data can allow for on-the-fly deobfuscation of stack trace information or to allow server components to have in-depth knowledge of the runtime structure of compiled objects.

    - #### hashCode

          public final int hashCode()

      Description copied from class: `Artifact`
      The class which is returned from `Artifact.getComparableArtifactType()` must declare a final implementation which returns the same hash code for objects for which `Artifact.compareToComparableArtifact(Artifact)` returns 0.
      Specified by:
        `hashCode` in class `Artifact<CompilationResult>`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `Artifact<CompilationResult>`

    - #### compareToComparableArtifact

          protected final int compareToComparableArtifact(CompilationResult o)

      Description copied from class: `Artifact`
      Performs comparison with an artifact of a compatible base type. Objects which compare to 0 are assumed equal, and must return the same `Artifact.hashCode()`.
      Specified by:
        `compareToComparableArtifact` in class `Artifact<CompilationResult>`

    - #### getComparableArtifactType

          protected final java.lang.Class<CompilationResult> getComparableArtifactType()

      Description copied from class: `Artifact`
      Returns the base type to use for comparisons between Artifacts. All concrete implementations of this methods must be final.
      Specified by:
        `getComparableArtifactType` in class `Artifact<CompilationResult>`