Package software.amazon.smithy.codegen.core
Defines abstractions for implementing Smithy model code generation.
-
Interface Summary Interface Description CodegenContext<S,W extends SymbolWriter<W,?>,I extends SmithyIntegration<S,W,?>> A context object that can be used during code generation and is used bySmithyIntegration
.ImportContainer Contains the imports associated with a specific file.ReservedWords Determines what is reserved and escapes reserved words.SmithyIntegration<S,W extends SymbolWriter<W,?>,C extends CodegenContext<S,W,?>> This interface provides the base concept of an "Integration" to Smithy code generators.SymbolContainer A holder forSymbol
objects.SymbolDependencyContainer A container forSymbolDependency
objects.SymbolProvider ProvidesSymbol
objects for shapes.SymbolReference.Option Top-level interface for allSymbolReference
options.SymbolWriter.Factory<W extends SymbolWriter<W,? extends ImportContainer>> Factory used to create aSymbolWriter
. -
Class Summary Class Description DependencyTracker A container for all known dependencies of a generator.MappedReservedWords A reserved words implementation that maps known words to other words.MappedReservedWords.Builder Builder to create a newMappedReservedWords
instance.ReservedWordsBuilder Builds aReservedWords
implementation from explicit mappings and from line-delimited files that contain reserved words.ReservedWordSymbolProvider Decorates aSymbolProvider
by passing values through context specificReservedWords
implementations.ReservedWordSymbolProvider.Builder Builder to build aReservedWordSymbolProvider
.ReservedWordSymbolProvider.Escaper Uses to manually escapeSymbol
s and member names.Symbol A "symbol" is created by aSymbolProvider
, and represents the qualified name of a type in a target programming language.Symbol.Builder Builds a Symbol.SymbolDependency Represents a dependency that is introduced by aSymbol
.SymbolDependency.Builder Builds a SymbolDependency.SymbolReference Represents a reference from a Symbol to another Symbol.SymbolReference.Builder Builds a SymbolReference.SymbolWriter<W extends SymbolWriter<W,I>,I extends ImportContainer> ASymbolWriter
is a specializedAbstractCodeWriter
that makes it easier to implement code generation that utilizesSymbol
s andSymbolDependency
values.TopologicalIndex Creates a reverse-topological ordering of shapes.WriterDelegator<W extends SymbolWriter<W,? extends ImportContainer>> -
Enum Summary Enum Description ShapeGenerationOrder Shapes order for code generation.SymbolReference.ContextOption Options used to control the context of when the symbol reference is needed. -
Exception Summary Exception Description CodegenException Thrown when an error occurs during code generation.