parser

package
v1.4.4-rancher2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2016 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package parser provides code to parse go files, type-check them, extract the types.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder lets you add all the go files in all the packages that you care about, then constructs the type source data.

func New

func New() *Builder

New constructs a new builder.

func (*Builder) AddBuildTags

func (b *Builder) AddBuildTags(tags ...string)

AddBuildTags adds the specified build tags to the parse context.

func (*Builder) AddDir

func (b *Builder) AddDir(dir string) error

AddDir adds an entire directory, scanning it for go files. 'dir' should have a single go package in it. GOPATH, GOROOT, and the location of your go binary (`which go`) will all be searched if dir doesn't literally resolve.

func (*Builder) AddDirRecursive

func (b *Builder) AddDirRecursive(dir string) error

AddDirRecursive is just like AddDir, but it also recursively adds subdirectories; it returns an error only if the path couldn't be resolved; any directories recursed into without go source are ignored.

func (*Builder) AddDirTo added in v1.4.0

func (b *Builder) AddDirTo(dir string, u *types.Universe) error

AddDirTo adds an entire directory to a given Universe. Unlike AddDir, this processes the package immediately, which makes it safe to use from within a generator (rather than just at init time. 'dir' must be a single go package. GOPATH, GOROOT, and the location of your go binary (`which go`) will all be searched if dir doesn't literally resolve.

func (*Builder) AddFile

func (b *Builder) AddFile(pkg string, path string, src []byte) error

AddFile adds a file to the set. The pkg must be of the form "canonical/pkg/path" and the path must be the absolute path to the file.

func (*Builder) FindPackages added in v1.4.0

func (b *Builder) FindPackages() []string

FindPackages fetches a list of the user-imported packages.

func (*Builder) FindTypes

func (b *Builder) FindTypes() (types.Universe, error)

FindTypes finalizes the package imports, and searches through all the packages for types.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL