diff options
Diffstat (limited to 'src/texec')
-rw-r--r-- | src/texec/eval.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/texec/eval.go b/src/texec/eval.go index a977042..37341a5 100644 --- a/src/texec/eval.go +++ b/src/texec/eval.go @@ -478,7 +478,12 @@ func cvsa(sct TArtifact, dat []interface{}) VarMap { for i:=0;i<len(vars);i++ { tmp := TVariable{vars[i].Type, nil} if isStruct(vars[i].Type, 0) { - tmp.Data = cvsa(vars[i].Type.T, dat[i].([]interface{})) + switch v := dat[i].(type) { + case []interface{}: + tmp.Data = cvsa(vars[i].Type.T, v) + case VarMap: + tmp.Data = csts(vars[i].Type.T, v) + } } else { tmp.Data = dat[i] } |