Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Locator ¶
type Locator struct { // contains filtered or unexported fields } // struct size: 32 bytes; struct align: 8 bytes; struct aligned size: 32 bytes; - 🌺 gopium @1pkg
Locator defines abstraction that helps encapsulate pkgs token.FileSets and provides some operations on top of it
func NewLocator ¶
NewLocator creates new locator instance from provided file set
func (*Locator) Fset ¶
Fset multifunc method that either set new fset for location or returns child fset if any
func (*Locator) ID ¶
ID calculates sha256 hash hex string for specified token.Pos in token.FileSet note: generated ids are ordered inside same loc
type MavenGoTypes ¶
type MavenGoTypes struct { // contains filtered or unexported fields } // struct size: 32 bytes; struct align: 8 bytes; struct aligned size: 32 bytes; - 🌺 gopium @1pkg
MavenGoTypes defines maven default "go/types" implementation that uses types.Sizes Sizeof in order to get type info
func NewMavenGoTypes ¶
func NewMavenGoTypes(compiler, arch string, caches ...int64) (MavenGoTypes, error)
NewMavenGoTypes creates instance of MavenGoTypes and requires compiler and arch for types.Sizes initialization
func (MavenGoTypes) Align ¶
func (m MavenGoTypes) Align(t types.Type) int64
Align MavenGoTypes implementation
func (MavenGoTypes) Name ¶
func (m MavenGoTypes) Name(t types.Type) string
Name MavenGoTypes implementation
func (MavenGoTypes) Size ¶
func (m MavenGoTypes) Size(t types.Type) int64
Size MavenGoTypes implementation
func (MavenGoTypes) SysAlign ¶
func (m MavenGoTypes) SysAlign() int64
SysAlign MavenGoTypes implementation
func (MavenGoTypes) SysCache ¶
func (m MavenGoTypes) SysCache(level uint) int64
SysCache MavenGoTypes implementation
func (MavenGoTypes) SysWord ¶
func (m MavenGoTypes) SysWord() int64
SysWord MavenGoTypes implementation
type ParserXToolPackagesAst ¶
type ParserXToolPackagesAst struct { BuildEnv []string `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` BuildFlags []string `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` Pattern string `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` Path string `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` Root string `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` ModeTypes packages.LoadMode `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` ModeAst parser.Mode `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"` // contains filtered or unexported fields } // struct size: 128 bytes; struct align: 8 bytes; struct aligned size: 128 bytes; - 🌺 gopium @1pkg
ParserXToolPackagesAst defines gopium parser default implementation that uses "golang.org/x/tools/go/packages" to collect package types and "go/parser" to collect ast package
Note: ParserXToolPackagesAst is big struct so it should be passed via pointer