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