summaryrefslogtreecommitdiff
path: root/internal/jsonparse/parse.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/jsonparse/parse.go')
-rw-r--r--internal/jsonparse/parse.go14
1 files changed, 5 insertions, 9 deletions
diff --git a/internal/jsonparse/parse.go b/internal/jsonparse/parse.go
index 2f5c1ab..7afd6a1 100644
--- a/internal/jsonparse/parse.go
+++ b/internal/jsonparse/parse.go
@@ -324,8 +324,7 @@ type Parser struct {
}
type barrier struct {
- closed bool
- stack []RuneType
+ stack []RuneType
}
func (par *Parser) init() {
@@ -425,8 +424,7 @@ func (par *Parser) PushReadBarrier() {
}
// Actually push.
par.barriers = append(par.barriers, barrier{
- closed: par.closed,
- stack: par.stack[:len(par.stack)-1],
+ stack: par.stack[:len(par.stack)-1],
})
par.stack = []RuneType{curState}
}
@@ -453,15 +451,13 @@ func (par *Parser) PushWriteBarrier() {
case runeTypeAny:
par.popState()
par.barriers = append(par.barriers, barrier{
- closed: par.closed,
- stack: par.stack,
+ stack: par.stack,
})
par.stack = []RuneType{runeTypeAny}
case RuneTypeArrayBeg:
par.replaceState(RuneTypeArrayComma)
par.barriers = append(par.barriers, barrier{
- closed: par.closed,
- stack: par.stack,
+ stack: par.stack,
})
par.stack = []RuneType{runeTypeAny}
default:
@@ -476,7 +472,7 @@ func (par *Parser) PopBarrier() {
}
barrier := par.barriers[len(par.barriers)-1]
par.barriers = par.barriers[:len(par.barriers)-1]
- par.closed = barrier.closed
+ par.closed = false
par.stack = append(barrier.stack, par.stack...)
}