Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckLibraryFile ¶
func CheckLibraryFile(file *syntax.LibraryFile, opts Options) error
CheckLibraryFile checks every exported composite body in file.
Types ¶
type ImportAnalysis ¶
type ImportAnalysis struct {
Top []resolve.Resolution
Libraries map[string]*runtime.Library
GoImports map[string]string
GoModules map[string]string
UBImports map[string]string
UBPackages map[string][]byte
}
ImportAnalysis is the resolved import data shared by source checks, compile, and graph printing.
func AnalyzeImports ¶
func AnalyzeImports( refs map[string]resolve.ImportRef, opts ImportAnalysisOptions, ) (*ImportAnalysis, error)
AnalyzeImports resolves refs once and builds the data each caller needs.
type ImportAnalysisOptions ¶
type ImportAnalysisOptions struct {
ProjectDir string
Source *resolve.Source
Resolver resolve.Resolver
Versions map[string]string
SchemaCache *SchemaCache
WarnOut io.Writer
Mode Mode
StackName string
GeneratePackages bool
ValidateCompositeBodies bool
}
ImportAnalysisOptions configures AnalyzeImports.
type Options ¶
type Options struct {
ProjectDir string
Source *resolve.Source
Resolver resolve.Resolver
Versions map[string]string
SchemaCache *SchemaCache
WarnOut io.Writer
Mode Mode
}
Options configures source checks.
type Result ¶
Result is the source-check result for a factory or composite body.
func CheckFactoryBody ¶
func CheckFactoryBody(body syntax.FactoryBody, opts Options) (*Result, error)
CheckFactoryBody resolves imports and runs compile-time checks for body.
type SchemaCache ¶
type SchemaCache struct {
// contains filtered or unexported fields
}
SchemaCache memoizes Go library schema reads by source path.
func NewSchemaCache ¶
func NewSchemaCache(extra ...goschema.ModuleRoot) *SchemaCache
NewSchemaCache returns a cache that reads Go source with extra module roots.
func NewSchemaCacheWithReader ¶
func NewSchemaCacheWithReader( read func(sourcePath string) (*runtime.LibrarySchema, []string, error), ) *SchemaCache
NewSchemaCacheWithReader returns a cache that reads Go schemas through read.
func (*SchemaCache) Read ¶
func (c *SchemaCache) Read(sourcePath string) (*runtime.LibrarySchema, []string, error)
Read returns the schema and warnings for sourcePath, reading it once.