From 114cdec8216219803e1a10e1114009ceb6a0aae8 Mon Sep 17 00:00:00 2001 From: William Bell Date: Wed, 21 Jun 2023 20:42:12 +0100 Subject: [PATCH] change back to support custom data types --- src/run.go | 2 +- src/variable.go | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/run.go b/src/run.go index bd3f28d..4982983 100644 --- a/src/run.go +++ b/src/run.go @@ -216,7 +216,7 @@ func runVal(line any, stack stack, stacklevel int) (any, ArErr) { break } return runTryCatch(x, stack, stacklevel+1) - case bool, ArObject, number, nil: + case bool, ArObject, number, nil, Callable: return x, ArErr{} } if stackoverflow { diff --git a/src/variable.go b/src/variable.go index 74b5362..125d12a 100644 --- a/src/variable.go +++ b/src/variable.go @@ -275,7 +275,13 @@ func setVariableValue(v setVariable, stack stack, stacklevel int) (any, ArErr) { case ArObject: if _, ok := y.obj["__setindex__"]; ok { callable := y.obj["__setindex__"] - builtinCall(callable, []any{key, resp}) + _, err := runCall(call{ + callable: callable, + args: []any{key, resp}, + line: v.line, + path: v.path, + code: v.code, + }, stack, stacklevel+1) if err.EXISTS { return nil, err }