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 newMappedReservedWordsinstance.Determines what is reserved and escapes reserved words.Builds aReservedWordsimplementation from explicit mappings and from line-delimited files that contain reserved words.Decorates aSymbolProviderby passing values through context specificReservedWordsimplementations.Builder to build aReservedWordSymbolProvider.Uses to manually escapeSymbols 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 forSymbolobjects.Represents a dependency that is introduced by aSymbol.Builds a SymbolDependency.A container forSymbolDependencyobjects.ProvidesSymbolobjects 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 allSymbolReferenceoptions.ASymbolWriteris a specializedAbstractCodeWriterthat makes it easier to implement code generation that utilizesSymbols andSymbolDependencyvalues.Factory used to create aSymbolWriter.Creates a reverse-topological ordering of shapes.