fix method assignement
This commit is contained in:
@@ -3,9 +3,7 @@ package main
|
||||
type adder func(int, int) int
|
||||
|
||||
func genAdd(k int) adder {
|
||||
println("k:", k)
|
||||
return func(i, j int) int {
|
||||
println("#1 k:", k)
|
||||
return i + j + k
|
||||
}
|
||||
}
|
||||
|
||||
@@ -413,7 +413,6 @@ func (interp *Interpreter) Cfg(root *Node) []*Node {
|
||||
} else {
|
||||
scope.size += n.fsize
|
||||
}
|
||||
n.recv = n.child[0].recv
|
||||
|
||||
/*
|
||||
else if n.child[0].kind == SelectorImport {
|
||||
@@ -713,7 +712,9 @@ func (interp *Interpreter) Cfg(root *Node) []*Node {
|
||||
n.val = nil
|
||||
}
|
||||
}
|
||||
n.recv = n.sym.recv
|
||||
if n.sym != nil {
|
||||
n.recv = n.sym.recv
|
||||
}
|
||||
} else {
|
||||
if n.ident == "_" || n.anc.kind == Define || n.anc.kind == DefineX || n.anc.kind == RangeStmt || n.anc.kind == ValueSpec {
|
||||
// Create a new local symbol for func argument or local var definition
|
||||
|
||||
@@ -541,9 +541,7 @@ package main
|
||||
type adder func(int, int) int
|
||||
|
||||
func genAdd(k int) adder {
|
||||
println("k:", k)
|
||||
return func(i, j int) int {
|
||||
println("#1 k:", k)
|
||||
return i + j + k
|
||||
}
|
||||
}
|
||||
|
||||
@@ -546,7 +546,7 @@ func call(n *Node) {
|
||||
}
|
||||
// copy input parameters from caller
|
||||
for i, v := range values {
|
||||
//log.Println(n.index, i, def.framepos[i], nf.data[def.framepos[i]].Kind(), v(f).Kind())
|
||||
log.Println(n.index, i, def.framepos[i], nf.data[def.framepos[i]].Kind(), v(f).Kind())
|
||||
nf.data[def.framepos[i]].Set(v(f))
|
||||
}
|
||||
|
||||
@@ -751,7 +751,6 @@ func getPtrIndex(n *Node) {
|
||||
value := genValue(n.child[0])
|
||||
|
||||
n.exec = func(f *Frame) Builtin {
|
||||
log.Println(n.index, "in getPtrIndex")
|
||||
// if error, fallback to getIndex, to make receiver methods work both with pointers and objects
|
||||
//if a, ok := value0(f).(*interface{}); ok {
|
||||
// f.data[i] = (*a).([]interface{})[value1(f).(int)]
|
||||
|
||||
Reference in New Issue
Block a user