diff options
| author | Marc Vertes <mvertes@free.fr> | 2026-01-09 19:10:27 +0100 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2026-01-09 19:10:27 +0100 |
| commit | 7520aa4474ea30985cf26631c6bbdebf38484a0d (patch) | |
| tree | e1e344c2fdc04affc0095eab26a39eef1fc3ba91 /comp | |
| parent | 6ae0a2530c9a57fc093d2159591d9cae8140d641 (diff) | |
feat: initial support for maps
Diffstat (limited to 'comp')
| -rw-r--r-- | comp/compiler.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/comp/compiler.go b/comp/compiler.go index 5d55be4..47c4a88 100644 --- a/comp/compiler.go +++ b/comp/compiler.go @@ -188,6 +188,8 @@ func (c *Compiler) Generate(tokens parser.Tokens) (err error) { if v := ks.Value.Value; v.CanInt() { emit(t, vm.IndexSet) } + case reflect.Map: + emit(t, vm.MapSet) } case symbol.Unset: j := top().Type.FieldIndex(ks.Name) @@ -260,7 +262,7 @@ func (c *Compiler) Generate(tokens parser.Tokens) (err error) { if s.Type.Rtype.Kind() == reflect.Slice { emit(t, vm.Fnew, s.Index, s.SliceLen) } else { - emit(t, vm.Fnew, s.Index) + emit(t, vm.Fnew, s.Index, 1) } } else { emit(t, vm.Dup, s.Index) |
