Documentation ¶
Index ¶
- func Decorate(fset *token.FileSet, n ast.Node) dst.Node
- func DecorateFile(fset *token.FileSet, f *ast.File) *dst.File
- func Fprint(w io.Writer, f *dst.File) error
- func Parse(src interface{}) (*dst.File, error)
- func ParseDir(fset *token.FileSet, dir string, filter func(os.FileInfo) bool, ...) (map[string]*dst.Package, error)
- func ParseFile(fset *token.FileSet, filename string, src interface{}, mode parser.Mode) (*dst.File, error)
- func Print(f *dst.File) error
- func Restore(file *dst.File) (*token.FileSet, *ast.File)
- type AstMap
- type Decorator
- func (d *Decorator) DecorateFile(f *ast.File) *dst.File
- func (d *Decorator) DecorateNode(n ast.Node) dst.Node
- func (d *Decorator) Parse(src interface{}) (*dst.File, error)
- func (d *Decorator) ParseDir(dir string, filter func(os.FileInfo) bool, mode parser.Mode) (map[string]*dst.Package, error)
- func (d *Decorator) ParseFile(filename string, src interface{}, mode parser.Mode) (*dst.File, error)
- type DstMap
- type FileRestorer
- type Map
- type Package
- type Restorer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecorateFile ¶ added in v0.1.0
Decorate decorates a *ast.File and returns a *dst.File.
func Parse ¶
Parse uses parser.ParseFile to parse and decorate a Go source file. The src parameter should be string, []byte, or io.Reader.
func ParseDir ¶ added in v0.1.0
func ParseDir(fset *token.FileSet, dir string, filter func(os.FileInfo) bool, mode parser.Mode) (map[string]*dst.Package, error)
ParseDir uses parser.ParseDir to parse and decorate a directory containing Go source. The ParseComments flag is added to mode if it doesn't exist.
Types ¶
type Decorator ¶ added in v0.1.0
type Decorator struct { Map Filenames map[*dst.File]string // Source file names Fset *token.FileSet Path string // local package path, used to ensure the local path is not set in idents // If a Resolver is provided, it is used to resolve Ident nodes. During decoration, remote // identifiers (e.g. usually part of a qualified identifier SelectorExpr, but sometimes on // their own for dot-imported packages) are updated with the path of the package they are // imported from. Resolver resolver.IdentResolver // contains filtered or unexported fields }
func NewWithImports ¶ added in v0.11.0
NewWithImports returns a new package decorator with import management attributes set.
func (*Decorator) DecorateFile ¶ added in v0.11.0
func (*Decorator) DecorateNode ¶ added in v0.11.0
Decorate decorates an ast.Node and returns a dst.Node
func (*Decorator) Parse ¶ added in v0.12.2
Parse uses parser.ParseFile to parse and decorate a Go source file. The src parameter should be string, []byte, or io.Reader.
func (*Decorator) ParseDir ¶ added in v0.12.2
func (d *Decorator) ParseDir(dir string, filter func(os.FileInfo) bool, mode parser.Mode) (map[string]*dst.Package, error)
ParseDir uses parser.ParseDir to parse and decorate a directory containing Go source. The ParseComments flag is added to mode if it doesn't exist.
type FileRestorer ¶ added in v0.11.0
type FileRestorer struct { *Restorer Alias map[string]string // map of package path -> package alias for imports // contains filtered or unexported fields }
func (*FileRestorer) Restore ¶ added in v0.11.0
func (fr *FileRestorer) Restore() *ast.File
type Restorer ¶ added in v0.1.0
type Restorer struct { Map Fset *token.FileSet // Fset is the *token.FileSet in use. Set this to use a pre-existing FileSet. // If a Resolver is provided, the names of all imported packages are resolved, and the imports // block is updated. All remote identifiers are updated (sometimes this involves changing // SelectorExpr.X.Name, or even swapping between Ident and SelectorExpr). To force specific // import alias names, use the FileRestorer.Alias map. Resolver resolver.PackageResolver }
func NewRestorerWithImports ¶ added in v0.11.0
NewRestorerWithImports returns a restorer with import management attributes set.
func (*Restorer) FileRestorer ¶ added in v0.11.0
func (pr *Restorer) FileRestorer(name string, file *dst.File) *FileRestorer