本文整理汇总了Golang中go/ast.IfStmt类的典型用法代码示例。如果您正苦于以下问题:Golang IfStmt类的具体用法?Golang IfStmt怎么用?Golang IfStmt使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IfStmt类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: cursor_in_if_stmt
func (f *auto_complete_file) cursor_in_if_stmt(s *ast.IfStmt) bool {
if f.cursor > f.offset(s.If) {
// magic -10 comes from auto_complete_file.offset method, see
// len() expr in there
if f.offset(s.End()) == -10 || f.cursor < f.offset(s.End()) {
return true
}
}
return false
}
示例2: parseIfStmt
func (p *parser) parseIfStmt(n *parse.Node) ast.Stmt {
p.openScope()
ifStmt := ast.IfStmt{
If: token.Pos(n.Child(0).Pos()),
}
ifStmt.Init, ifStmt.Cond = p.parseInitCond(n.Child(1))
if blockElse := n.Child(2).Child(0); blockElse.Is(block) {
ifStmt.Body = p.parseBlock(blockElse, p.topScope)
} else {
ifStmt.Body = p.parseBlock(blockElse.Child(1).Child(0), p.topScope)
ifStmt.Else = p.parseElse(blockElse.Child(1).Child(2))
}
p.closeScope()
return &ifStmt
}