Documentation ¶
Overview ¶
Package cl compiles Go+ syntax trees (ast).
Index ¶
- Constants
- func FindGoModFile(dir string) (file string, err error)
- func GetModulePath(file string) (pkgPath string, err error)
- func NewPackage(pkgPath string, pkg *ast.Package, conf *Config) (p *gox.Package, err error)
- func RegisterClassFileType(extGmx, extSpx string, pkgPaths ...string)
- func SetDebug(flags int)
- func SetDisableRecover(disableRecover bool)
- type Config
- type Errors
- type PkgsLoader
Constants ¶
View Source
const ( DbgFlagLoad = 1 << iota DbgFlagLookup DbgFlagAll = DbgFlagLoad | DbgFlagLookup )
Variables ¶
This section is empty.
Functions ¶
func FindGoModFile ¶ added in v0.9.0
func GetModulePath ¶ added in v0.9.0
func NewPackage ¶ added in v0.7.0
NewPackage creates a Go+ package instance.
func RegisterClassFileType ¶ added in v1.0.5
RegisterClassFileType registers Go+ class file types.
func SetDisableRecover ¶ added in v1.0.0
func SetDisableRecover(disableRecover bool)
Types ¶
type Config ¶ added in v0.9.0
type Config struct { // Context specifies the context for the load operation. // If the context is cancelled, the loader may stop early // and return an ErrCancelled error. // If Context is nil, the load cannot be cancelled. Context context.Context // Logf is the logger for the config. // If the user provides a logger, debug logging is enabled. // If the GOPACKAGESDEBUG environment variable is set to true, // but the logger is nil, default to log.Printf. Logf func(format string, args ...interface{}) // Dir is the directory in which to run the build system's query tool // that provides information about the packages. // If Dir is empty, the tool is run in the current directory. Dir string // WorkingDir is the directory in which to run gop compiler. // TargetDir is the directory in which to generate Go files. // If WorkingDir or TargetDir is empty, it is same as Dir. WorkingDir, TargetDir string // ModPath specifies module path. ModPath string // ModRootDir specifies root dir of this module. // If ModRootDir is empty, will lookup go.mod in all ancestor directories of Dir. // If you specify ModPath, you should specify ModRootDir at the same time. ModRootDir string // CacheFile specifies where cache data to write. CacheFile string // Env is the environment to use when invoking the build system's query tool. // If Env is nil, the current environment is used. // As in os/exec's Cmd, only the last value in the slice for // each environment key is used. To specify the setting of only // a few variables, append to the current environment, as in: // // opt.Env = append(os.Environ(), "GOOS=plan9", "GOARCH=386") // Env []string // BuildFlags is a list of command-line flags to be passed through to // the build system's query tool. BuildFlags []string // Fset provides source position information for syntax trees and types. // If Fset is nil, Load will use a new fileset, but preserve Fset's value. Fset *token.FileSet // GenGoPkg is called to convert a Go+ package into Go. GenGoPkg func(pkgDir string, base *Config) error // PkgsLoader is the Go+ packages loader (will be set if it is nil). PkgsLoader *PkgsLoader // CacheLoadPkgs = true means to cache all loaded packages. CacheLoadPkgs bool // PersistLoadPkgs = true means to cache all loaded packages to disk. PersistLoadPkgs bool // NoFileLine = true means not to generate file line comments. NoFileLine bool // RelativePath = true means to generate file line comments with relative file path. RelativePath bool }
Config of loading Go+ packages.
type PkgsLoader ¶ added in v0.9.2
type PkgsLoader struct { LoadPkgs gox.LoadPkgsFunc BaseConfig *Config // contains filtered or unexported fields }
func (*PkgsLoader) GenGoPkgs ¶ added in v0.9.2
func (p *PkgsLoader) GenGoPkgs(cfg *packages.Config, notFounds []string) (err error)
func (*PkgsLoader) Save ¶ added in v1.0.0
func (p *PkgsLoader) Save() error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.