summaryrefslogtreecommitdiff
path: root/parser
diff options
context:
space:
mode:
authorMarc Vertes <mvertes@free.fr>2026-01-24 12:00:34 +0100
committerMarc Vertes <mvertes@free.fr>2026-01-24 12:00:34 +0100
commit51e11a29f9d2a9e571c3ea7c406863a025749ad6 (patch)
treec8190309c5e9620634615a09ae11503046e9240b /parser
parent3113c7f058e427c49e936f82a518766ddb869c58 (diff)
fix: correct var order in multi-var declaration
Diffstat (limited to 'parser')
-rw-r--r--parser/README.md1
-rw-r--r--parser/type.go4
2 files changed, 3 insertions, 2 deletions
diff --git a/parser/README.md b/parser/README.md
index dda3f25..c3628a6 100644
--- a/parser/README.md
+++ b/parser/README.md
@@ -50,6 +50,7 @@ Go language support:
- [ ] deterministic maps
- [ ] channel types
- [ ] channel operations
+- [ ] multi-assign expressions
- [x] var defined by assign :=
- [x] var assign =
- [x] var declaration
diff --git a/parser/type.go b/parser/type.go
index b56a332..4412501 100644
--- a/parser/type.go
+++ b/parser/type.go
@@ -172,7 +172,7 @@ func (p *Parser) parseParamTypes(in Tokens, flag typeFlag) (types []*vm.Type, va
// Type was omitted, apply the previous one from the right.
types = append([]*vm.Type{types[0]}, types...)
p.addSymVar(i, param, types[0], flag, local)
- vars = append(vars, param)
+ vars = append([]string{param}, vars...)
continue
}
}
@@ -184,7 +184,7 @@ func (p *Parser) parseParamTypes(in Tokens, flag typeFlag) (types []*vm.Type, va
p.addSymVar(i, param, typ, flag, local)
}
types = append([]*vm.Type{typ}, types...)
- vars = append(vars, param)
+ vars = append([]string{param}, vars...)
}
return types, vars, err
}