Documentation
¶
Index ¶
- Constants
- func AfterFilesParsed(fileList []*syntax.File, addFile func(name string, r io.Reader) *syntax.File)
- func ClearDecls()
- func ClearFiles()
- func ClearSyntaxDeclMapping()
- func GetFiles() []*syntax.File
- func GetSyntaxDeclMapping() map[string]map[LineCol]*DeclInfo
- func HasSkipTrap() bool
- type BlockContext
- type ConstInfo
- type DeclInfo
- type DeclKind
- type FileDecl
- type ISetPos
- type LineCol
- type NameAndDecl
- type StructDef
Constants ¶
View Source
const XGO_NUMBER = "XGO_NUMBER"
View Source
const XGO_REVISION = "XGO_REVISION"
View Source
const XGO_TOOLCHAIN_REVISION = "XGO_TOOLCHAIN_REVISION"
View Source
const XGO_TOOLCHAIN_VERSION = "XGO_TOOLCHAIN_VERSION"
View Source
const XGO_TOOLCHAIN_VERSION_NUMBER = "XGO_TOOLCHAIN_VERSION_NUMBER"
View Source
const XGO_VERSION = "XGO_VERSION"
View Source
const XgoLinkGeneratedRegisterFunc = "__xgo_link_generated_register_func"
this link function is considered safe as we do not allow user to define such one,there will no abuse
View Source
const XgoLinkTrapForGenerated = "__xgo_link_trap_for_generated"
View Source
const XgoLocalFuncStub = "__xgo_local_func_stub"
View Source
const XgoLocalPkgName = "__xgo_local_pkg_name"
View Source
const XgoRegisterFuncs = "__xgo_register_funcs"
Variables ¶
This section is empty.
Functions ¶
func AfterFilesParsed ¶
func ClearDecls ¶
func ClearDecls()
func ClearFiles ¶
func ClearFiles()
func ClearSyntaxDeclMapping ¶
func ClearSyntaxDeclMapping()
func GetSyntaxDeclMapping ¶
func HasSkipTrap ¶
func HasSkipTrap() bool
Types ¶
type BlockContext ¶ added in v1.0.19
type BlockContext struct {
Parent *BlockContext
Block *syntax.BlockStmt
Names map[string]bool
// node appears as RHS of var decl
ListExprParent map[syntax.Node]*syntax.ListExpr
RHSVarDeclParent map[syntax.Node]*syntax.VarDecl
OperationParent map[syntax.Node]*syntax.Operation
ArgCallExprParent map[syntax.Node]*syntax.CallExpr
RHSAssignNoDefParent map[syntax.Node]*syntax.AssignStmt
CaseClauseParent map[syntax.Node]*syntax.CaseClause
ReturnStmtParent map[syntax.Node]*syntax.ReturnStmt
// const info
ConstInfo map[syntax.Node]*ConstInfo
// to be inserted
ChildrenInsertList [][]syntax.Stmt
TrapNames []*NameAndDecl
}
a BlockContext provides a point where stmts can be prepended or inserted
func (*BlockContext) Add ¶ added in v1.0.19
func (c *BlockContext) Add(name string)
func (*BlockContext) Has ¶ added in v1.0.19
func (c *BlockContext) Has(name string) bool
func (*BlockContext) PrependStmtBeforeLastChild ¶ added in v1.0.19
func (c *BlockContext) PrependStmtBeforeLastChild(stmt []syntax.Stmt)
type DeclInfo ¶
type DeclInfo struct {
FuncDecl *syntax.FuncDecl
VarDecl *syntax.VarDecl
ConstDecl *syntax.ConstDecl
Kind DeclKind
Name string
RecvTypeName string
RecvPtr bool
Generic bool
Closure bool
// this is an interface type declare
// only the RecvTypeName is valid
Interface bool
// arg names
RecvName string
ArgNames []string
ResNames []string
FirstArgCtx bool
LastResError bool
FileSyntax *syntax.File
FileIndex int
File string
FileRef string
Line int
}
func (*DeclInfo) GenericName ¶
func (*DeclInfo) IdentityName ¶
type NameAndDecl ¶ added in v1.0.19
Click to show internal directories.
Click to hide internal directories.