Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var StopOnError bool
Functions ¶
func ListOfGoFilesInDir ¶
func TranslateToGreenSchema ¶
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 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 }
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 ¶
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.