summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/v2
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/d5/tengo/v2')
-rw-r--r--vendor/github.com/d5/tengo/v2/script.go2
-rw-r--r--vendor/github.com/d5/tengo/v2/vm.go21
2 files changed, 12 insertions, 11 deletions
diff --git a/vendor/github.com/d5/tengo/v2/script.go b/vendor/github.com/d5/tengo/v2/script.go
index 82b02f52..4cca4d04 100644
--- a/vendor/github.com/d5/tengo/v2/script.go
+++ b/vendor/github.com/d5/tengo/v2/script.go
@@ -259,7 +259,7 @@ func (c *Compiled) Clone() *Compiled {
// copy global objects
for idx, g := range c.globals {
if g != nil {
- clone.globals[idx] = g
+ clone.globals[idx] = g.Copy()
}
}
return clone
diff --git a/vendor/github.com/d5/tengo/v2/vm.go b/vendor/github.com/d5/tengo/v2/vm.go
index c8365252..64bd23bc 100644
--- a/vendor/github.com/d5/tengo/v2/vm.go
+++ b/vendor/github.com/d5/tengo/v2/vm.go
@@ -376,8 +376,8 @@ func (v *VM) run() {
var lowIdx int64
if low != UndefinedValue {
- if low, ok := low.(*Int); ok {
- lowIdx = low.Value
+ if lowInt, ok := low.(*Int); ok {
+ lowIdx = lowInt.Value
} else {
v.err = fmt.Errorf("invalid slice index type: %s",
low.TypeName())
@@ -391,8 +391,8 @@ func (v *VM) run() {
var highIdx int64
if high == UndefinedValue {
highIdx = numElements
- } else if high, ok := high.(*Int); ok {
- highIdx = high.Value
+ } else if highInt, ok := high.(*Int); ok {
+ highIdx = highInt.Value
} else {
v.err = fmt.Errorf("invalid slice index type: %s",
high.TypeName())
@@ -428,8 +428,8 @@ func (v *VM) run() {
var highIdx int64
if high == UndefinedValue {
highIdx = numElements
- } else if high, ok := high.(*Int); ok {
- highIdx = high.Value
+ } else if highInt, ok := high.(*Int); ok {
+ highIdx = highInt.Value
} else {
v.err = fmt.Errorf("invalid slice index type: %s",
high.TypeName())
@@ -465,8 +465,8 @@ func (v *VM) run() {
var highIdx int64
if high == UndefinedValue {
highIdx = numElements
- } else if high, ok := high.(*Int); ok {
- highIdx = high.Value
+ } else if highInt, ok := high.(*Int); ok {
+ highIdx = highInt.Value
} else {
v.err = fmt.Errorf("invalid slice index type: %s",
high.TypeName())
@@ -502,8 +502,8 @@ func (v *VM) run() {
var highIdx int64
if high == UndefinedValue {
highIdx = numElements
- } else if high, ok := high.(*Int); ok {
- highIdx = high.Value
+ } else if highInt, ok := high.(*Int); ok {
+ highIdx = highInt.Value
} else {
v.err = fmt.Errorf("invalid slice index type: %s",
high.TypeName())
@@ -767,6 +767,7 @@ func (v *VM) run() {
NumLocals: fn.NumLocals,
NumParameters: fn.NumParameters,
VarArgs: fn.VarArgs,
+ SourceMap: fn.SourceMap,
Free: free,
}
v.allocs--