# Package com.google.gwt.core.ext.linker

Classes for writing Linkers.

See: Description

Interface Summary
ConfigurationProperty: Represents a configuration property.
PropertyProviderGenerator: An interface for generating a property provider JS implementation, rather than having it defined in a module file.
SelectionProperty: Represents a deferred binding property.
StatementRanges: Describes the source-code positions of top-level statements in a string of JavaScript.
SymbolData: Provides basic information about symbols in the generated JavaScript.

Class Summary
AbstractLinker: Provides basic functions common to all Linker implementations.
Artifact<C extends Artifact<C>>: A base type for all artifacts relating to the link process.
ArtifactSet: Provides stable ordering and de-duplication of artifacts.
BinaryEmittedArtifact: A thinned down version of some `EmittedArtifact`.
CompilationMetricsArtifact: Captures some metrics from the compile permutations step of the build.
CompilationResult: Represents a unique compilation of the module.
DelegatingCompilationResult: A delegate for `CompilationResult` intended for third party linkers that want to modify a compilation result.
EmittedArtifact: An artifact that will be emitted into the output.
GeneratedResource: A resource created by a Generator invoking `GeneratorContext.tryCreateResource(com.google.gwt.core.ext.TreeLogger, String)` during the compilation process.
ModuleMetricsArtifact: Captures some metrics from the module load and initial type oracle compile step.
PrecompilationMetricsArtifact: Captures some metrics from the precompilation step.
PublicResource: A resource in the module's public path.
ScriptReference: An external script file referenced in the module manifest.
SoftPermutation: Represents a permutation of collapsed deferred-binding property values.
StylesheetReference: An external stylesheet referenced in the module manifest.
SymbolData.ClassIdentComparator: A Comparator for use when presenting the data to humans.
SyntheticArtifact: Artifacts created by `AbstractLinker`.
TypeIndexedSet<T extends java.lang.Comparable>: A SortedSet that maintains an index of its members by concrete type using a `TypeIndexedSet.TypeIndex`.
TypeIndexedSet.TypeIndex: Organizes set members by their concrete type.

Enum Summary
EmittedArtifact.Visibility: Describes the visibility of an artifact.
LinkerOrder.Order: Allowable values for the LinkerOrder.

Annotation Types Summary
LinkerOrder: Defines the relative order in which a Linker will be run.
Shardable: This annotation, when placed on a `Linker` class, indicates that the linker supports the shardable version of the Linker API.
Transferable: An artifact marked with this annotation is passed through a compilation all the way to the final call to `Linker.link(com.google.gwt.core.ext.TreeLogger, com.google.gwt.core.ext.LinkerContext, ArtifactSet, boolean)` .

## Package com.google.gwt.core.ext.linker Description

Classes for writing Linkers. Developers implementing custom `linkers` will use these classes to alter the set compilation `artifacts` generated by the compilation process.