Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var StopOnError bool
Functions ¶
func FileExists ¶ added in v0.504.0
func ListOfGoFilesInDir ¶ added in v0.202.0
func TranslateToGreenSchema ¶ added in v0.360.0
TranslateToGreenSchema takes the FileSet already in `fs`, assumes it was generated by parsing `path` (to Go source file), and returns a Greenpack specified schema; i.e. a *green.Schema. TODO: handled top-level arrays/other types besides structs. Currently we only record structs.
Types ¶
type ComplexityThenNameSorter ¶ added in v0.509.0
type FileSet ¶
type FileSet struct { Package string // package name Specs map[string]ast.Expr // type specs in file Identities map[string]gen.Elem // processed from specs Directives []string // raw preprocessor directives Imports []*ast.ImportSpec // imports Cfg *cfg.GreenConfig ZebraSchemaId int64 PackageInfo *loader.PackageInfo LoadedProg *loader.Program QuickPack map[string]*loader.PackageInfo Fset *token.FileSet InterfaceTypeNames map[string]bool // so we can heuristically identify interfaces. }
A FileSet is the in-memory representation of a parsed file.
func File ¶
func File(c *cfg.GreenConfig) (*FileSet, error)
File parses a file at the relative path provided and produces a new *FileSet. If you pass in a path to a directory, the entire directory will be parsed. If unexport is false, only exported identifiers are included in the FileSet. If the resulting FileSet would be empty, an error is returned.
func FileNoLoad ¶ added in v0.340.0
func FileNoLoad(c *cfg.GreenConfig) (*FileSet, error)
FileNoLoad parses a file at the relative path provided and produces a new *FileSet. If you pass in a path to a directory, the entire directory will be parsed. If unexport is false, only exported identifiers are included in the FileSet. If the resulting FileSet would be empty, an error is returned.
FileNoLoad(), in noload.go, is the original msgp version of File() that doesn't require full compilability/avialability of all dependencies. Although this doesn't support resolution of named constants like the loader version does, this can be useful when reading a partial completed source file or otherwise in a situation where it is inconvient to have to meet the compiler's demands just yet.
func (*FileSet) SaveMsgpackFile ¶ added in v0.120.0
type PlexSorterSlice ¶ added in v0.509.0
type PlexSorterSlice []*ComplexityThenNameSorter
func (PlexSorterSlice) Len ¶ added in v0.509.0
func (p PlexSorterSlice) Len() int
func (PlexSorterSlice) Less ¶ added in v0.509.0
func (p PlexSorterSlice) Less(i, j int) bool
func (PlexSorterSlice) Swap ¶ added in v0.509.0
func (p PlexSorterSlice) Swap(i, j int)