summaryrefslogtreecommitdiff
path: root/src/tparse/tree-value.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/tparse/tree-value.go')
-rw-r--r--src/tparse/tree-value.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/tparse/tree-value.go b/src/tparse/tree-value.go
index d851fdc..330194d 100644
--- a/src/tparse/tree-value.go
+++ b/src/tparse/tree-value.go
@@ -376,7 +376,7 @@ func parseType(tokens *[]Token, tok, max int, param bool) (Node, int) {
var tmp Node
switch t.Type {
case AUGMENT:
- if t.Data != "~" && t.Data != "`" {
+ if t.Data != "~" {
errOut("Error: unexpected augment token when parsing type", t)
}
tmp.Data = t
@@ -388,8 +388,15 @@ func parseType(tokens *[]Token, tok, max int, param bool) (Node, int) {
tmp.Data = t
tok++
}
-
+
out.Sub = append(out.Sub, tmp)
+
+ if param && (*tokens)[tok].Data == "`" {
+ tmp = Node{(*tokens)[tok], false, []Node{}}
+ out.Sub = append(out.Sub, tmp)
+ tok++
+ }
+
return out, tok
case DEFWORD:
if (*tokens)[tok+1].Data == "(" {