Update dependencies and go1.18 (#1873)
* Update dependencies and go1.18 * Exclude unnecessary linters and update build to go1.18
This commit is contained in:
9
vendor/github.com/d5/tengo/v2/compiler.go
generated
vendored
9
vendor/github.com/d5/tengo/v2/compiler.go
generated
vendored
@@ -692,12 +692,15 @@ func (c *Compiler) compileAssign(
|
||||
return c.errorf(node, "operator ':=' not allowed with selector")
|
||||
}
|
||||
|
||||
_, isFunc := rhs[0].(*parser.FuncLit)
|
||||
symbol, depth, exists := c.symbolTable.Resolve(ident, false)
|
||||
if op == token.Define {
|
||||
if depth == 0 && exists {
|
||||
return c.errorf(node, "'%s' redeclared in this block", ident)
|
||||
}
|
||||
symbol = c.symbolTable.Define(ident)
|
||||
if isFunc {
|
||||
symbol = c.symbolTable.Define(ident)
|
||||
}
|
||||
} else {
|
||||
if !exists {
|
||||
return c.errorf(node, "unresolved reference '%s'", ident)
|
||||
@@ -718,6 +721,10 @@ func (c *Compiler) compileAssign(
|
||||
}
|
||||
}
|
||||
|
||||
if op == token.Define && !isFunc {
|
||||
symbol = c.symbolTable.Define(ident)
|
||||
}
|
||||
|
||||
switch op {
|
||||
case token.AddAssign:
|
||||
c.emit(node, parser.OpBinaryOp, int(token.Add))
|
||||
|
||||
Reference in New Issue
Block a user