Versions in this module Expand all Collapse all v0 v0.0.3 Nov 5, 2019 v0.0.2 Nov 4, 2019 Changes in this version + var ErrBuiltInNotFound = errors.New("builtin package not found") + var ErrPackageAliasNotFound = errors.New("package alias not found") + var ErrTypeNotFound = errors.New("type not found") + var ErrUnexpectedExpressionType = errors.New("unexpected expression type") + var ErrUnexpectedSelector = errors.New("unexpected selector identifier") + var InterfaceRefType = &BaseRefType + var NullRefType = &BaseRefType + func NewBaseType(pkg *Package, name string) *baseType + func NewEnvironment() (*environment, error) + func NewPackageContext(pkg *Package, buildPackage *build.Package) *parsePackageContext + type ArrayRefType struct + func NewArrayRefType(refType RefType) *ArrayRefType + func (refType *ArrayRefType) AppendType(tp Type) + func (refType *ArrayRefType) Name() string + func (refType *ArrayRefType) Pkg() *Package + func (refType *ArrayRefType) Type() Type + type BaseRefType struct + func (refType *BaseRefType) Name() string + func (refType *BaseRefType) Pkg() *Package + func (refType *BaseRefType) Type() Type + func (rt *BaseRefType) AppendType(tp Type) + type ChanRefType struct + func NewChanRefType(refType RefType) *ChanRefType + func (refType *ChanRefType) AppendType(tp Type) + func (refType *ChanRefType) Name() string + func (refType *ChanRefType) Pkg() *Package + func (refType *ChanRefType) Type() Type + type Constant struct + Name string + Type Type + type Doc struct + Comments []string + func (doc *Doc) FormatComment() string + type Ellipsis struct + Elt RefType + func NewEllipsis(pkg *Package, elt RefType) *Ellipsis + func (el *Ellipsis) AddMethod(method *TypeMethod) + func (el *Ellipsis) Methods() []*TypeMethod + func (el *Ellipsis) Name() string + func (el *Ellipsis) Package() *Package + type EllipsisRefType struct + func NewEllipsisRefType(refType RefType) *EllipsisRefType + func (refType *EllipsisRefType) AppendType(tp Type) + func (refType *EllipsisRefType) Name() string + func (refType *EllipsisRefType) Pkg() *Package + func (refType *EllipsisRefType) Type() Type + type EnvConfig struct + ASTI bool + CurrentDir string + DevMode bool + func (ec EnvConfig) CWD() string + type Field struct + Doc Doc + Name string + RefType RefType + Tag Tag + type File struct + Constants []*Constant + Doc Doc + FileName string + Files []*File + Interfaces []*Interface + Package *Package + Structs []*Struct + Variables []*Variable + type Interface struct + Doc Doc + func NewInterface(pkg *Package, name string) *Interface + func (t *Interface) AddMethod(method *TypeMethod) + func (t *Interface) Methods() []*TypeMethod + func (t *Interface) Name() string + func (t *Interface) Package() *Package + type MapType struct + Key RefType + Value RefType + func NewMap(pkg *Package, key RefType, value RefType) *MapType + func (mt *MapType) AddMethod(method *TypeMethod) + func (mt *MapType) Methods() []*TypeMethod + func (mt *MapType) Name() string + func (mt *MapType) Package() *Package + type MethodArgument struct + Doc Doc + Name string + Type RefType + type MethodDescriptor struct + Arguments []MethodArgument + Doc Doc + Recv []MethodArgument + Result []MethodResult + Tag Tag + func NewMethodDescriptor(pkg *Package, name string) *MethodDescriptor + func (method *MethodDescriptor) Compatible(m *MethodDescriptor) bool + func (method *MethodDescriptor) Name() string + func (method *MethodDescriptor) Package() *Package + func (t *MethodDescriptor) AddMethod(method *TypeMethod) + func (t *MethodDescriptor) Methods() []*TypeMethod + type MethodResult struct + Name string + Type RefType + type Package struct + BuildInfo *build.Package + Constants []*Constant + Doc Doc + Files []*File + ImportPath string + Interfaces []*Interface + Methods []*MethodDescriptor + Name string + Parent *Package + RealPath string + RefType []RefType + Structs []*Struct + Subpackages []*Package + Types []Type + Variables []*Variable + func NewPackage(buildPackage *build.Package) *Package + func (p *Package) AddRefType(ref RefType) + func (p *Package) AppendInterface(s *Interface) + func (p *Package) AppendMethod(method *MethodDescriptor) + func (p *Package) AppendRefType(name string) (ref RefType) + func (p *Package) AppendStruct(s *Struct) + func (p *Package) AppendVariable(variable *Variable) *Variable + func (p *Package) EnsureRefType(name string) (RefType, bool) + func (p *Package) InterfaceByName(name string) (*Interface, bool) + func (p *Package) MethodByName(name string) (*MethodDescriptor, bool) + func (p *Package) RefTypeByName(name string) (RefType, bool) + func (p *Package) StructByName(name string) (*Struct, bool) + func (p *Package) VariableByName(name string) (vrle *Variable) + type RefType interface + AppendType func(t Type) + Name func() string + Pkg func() *Package + Type func() Type + func NewRefType(name string, pkg *Package, t Type) RefType + type StarRefType struct + func NewStarRefType(refType RefType) *StarRefType + func (refType *StarRefType) AppendType(tp Type) + func (refType *StarRefType) Name() string + func (refType *StarRefType) Pkg() *Package + func (refType *StarRefType) Type() Type + type Struct struct + Doc Doc + Fields []*Field + func NewStruct(pkg *Package, name string) *Struct + func (s *Struct) Implements(i *Interface) bool + func (s *Struct) Name() string + func (s *Struct) Package() *Package + func (t *Struct) AddMethod(method *TypeMethod) + func (t *Struct) Methods() []*TypeMethod + type Tag struct + Params []TagParam + Raw string + func (t *Tag) AppendTagParam(tNew *TagParam) bool + func (t *Tag) TagParamByName(name string) *TagParam + type TagParam struct + Name string + Options []string + Value string + type Type interface + AddMethod func(*TypeMethod) + Methods func() []*TypeMethod + Name func() string + Package func() *Package + type TypeMethod struct + Descriptor *MethodDescriptor + Name string + type Variable struct + Doc Doc + Name string + RefType RefType