Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
- change type names
  • Loading branch information
AsaiYusuke committed Dec 9, 2020
1 parent 895340d commit 698ca8c
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 59 deletions.
28 changes: 14 additions & 14 deletions jsonpath.peg
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,8 @@ basicQuery <-
checkQuery = (query.(syntaxLogicalNot)).param.(syntaxBasicCompareQuery)
}

_, leftIsCurrentRoot := checkQuery.leftParam.(syntaxCurrentRootNodeFilter)
_, rigthIsCurrentRoot := checkQuery.rightParam.(syntaxCurrentRootNodeFilter)
_, leftIsCurrentRoot := checkQuery.leftParam.(syntaxQueryParamCurrentRoot)
_, rigthIsCurrentRoot := checkQuery.rightParam.(syntaxQueryParamCurrentRoot)
if leftIsCurrentRoot && rigthIsCurrentRoot {
p.syntaxErr(begin, msgErrorInvalidSyntaxTwoCurrentNode, buffer)
}
Expand All @@ -333,11 +333,11 @@ basicQuery <-
var nodeFilter syntaxQuery
switch node.(type) {
case syntaxRootIdentifier:
nodeFilter = syntaxRootNodeFilter{node.(syntaxRootIdentifier)}
nodeFilter = syntaxQueryParamRoot{node.(syntaxRootIdentifier)}
case syntaxCurrentRootIdentifier:
nodeFilter = syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)}
nodeFilter = syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)}
default:
nodeFilter = syntaxRootNodeFilter{}
nodeFilter = syntaxQueryParamRoot{}
}
if isLogicalNot {
p.push(syntaxLogicalNot{nodeFilter})
Expand Down Expand Up @@ -421,15 +421,15 @@ comparator <-
var nodeFilter syntaxQuery
switch node.(type) {
case syntaxRootIdentifier:
nodeFilter = syntaxRootNodeFilter{node.(syntaxRootIdentifier)}
nodeFilter = syntaxQueryParamRoot{node.(syntaxRootIdentifier)}
case syntaxCurrentRootIdentifier:
nodeFilter = syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)}
nodeFilter = syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)}
default:
nodeFilter = syntaxRootNodeFilter{}
nodeFilter = syntaxQueryParamRoot{}
}
p.push(syntaxBasicCompareQuery{
leftParam: nodeFilter,
rightParam: syntaxCompareLiteral{literal: `regex`},
rightParam: syntaxQueryParamLiteral{literal: `regex`},
comparator: syntaxCompareRegex{
regex: regex,
},
Expand All @@ -438,14 +438,14 @@ comparator <-

qParam <-
qLiteral {
p.push(syntaxCompareLiteral{p.pop()})
p.push(syntaxQueryParamLiteral{p.pop()})
} /

nodeFilter

qNumericParam <-
lNumber {
p.push(syntaxCompareLiteral{p.pop()})
p.push(syntaxQueryParamLiteral{p.pop()})
} /

nodeFilter
Expand All @@ -457,11 +457,11 @@ nodeFilter <-
node := p.pop().(syntaxNode)
switch node.(type) {
case syntaxRootIdentifier:
p.push(syntaxRootNodeFilter{node.(syntaxRootIdentifier)})
p.push(syntaxQueryParamRoot{node.(syntaxRootIdentifier)})
case syntaxCurrentRootIdentifier:
p.push(syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)})
p.push(syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)})
default:
p.push(syntaxRootNodeFilter{})
p.push(syntaxQueryParamRoot{})
}
if !p.hasErr() && node.isMultiValue() {
p.syntaxErr(begin, msgErrorInvalidSyntaxFilterMultiValuedNode, buffer)
Expand Down
56 changes: 28 additions & 28 deletions jsonpath.peg.go
Original file line number Diff line number Diff line change
Expand Up @@ -865,8 +865,8 @@ func (p *parser) Execute() {
checkQuery = (query.(syntaxLogicalNot)).param.(syntaxBasicCompareQuery)
}

_, leftIsCurrentRoot := checkQuery.leftParam.(syntaxCurrentRootNodeFilter)
_, rigthIsCurrentRoot := checkQuery.rightParam.(syntaxCurrentRootNodeFilter)
_, leftIsCurrentRoot := checkQuery.leftParam.(syntaxQueryParamCurrentRoot)
_, rigthIsCurrentRoot := checkQuery.rightParam.(syntaxQueryParamCurrentRoot)
if leftIsCurrentRoot && rigthIsCurrentRoot {
p.syntaxErr(begin, msgErrorInvalidSyntaxTwoCurrentNode, buffer)
}
Expand All @@ -885,11 +885,11 @@ func (p *parser) Execute() {
var nodeFilter syntaxQuery
switch node.(type) {
case syntaxRootIdentifier:
nodeFilter = syntaxRootNodeFilter{node.(syntaxRootIdentifier)}
nodeFilter = syntaxQueryParamRoot{node.(syntaxRootIdentifier)}
case syntaxCurrentRootIdentifier:
nodeFilter = syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)}
nodeFilter = syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)}
default:
nodeFilter = syntaxRootNodeFilter{}
nodeFilter = syntaxQueryParamRoot{}
}
if isLogicalNot {
p.push(syntaxLogicalNot{nodeFilter})
Expand Down Expand Up @@ -964,38 +964,38 @@ func (p *parser) Execute() {
var nodeFilter syntaxQuery
switch node.(type) {
case syntaxRootIdentifier:
nodeFilter = syntaxRootNodeFilter{node.(syntaxRootIdentifier)}
nodeFilter = syntaxQueryParamRoot{node.(syntaxRootIdentifier)}
case syntaxCurrentRootIdentifier:
nodeFilter = syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)}
nodeFilter = syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)}
default:
nodeFilter = syntaxRootNodeFilter{}
nodeFilter = syntaxQueryParamRoot{}
}
p.push(syntaxBasicCompareQuery{
leftParam: nodeFilter,
rightParam: syntaxCompareLiteral{literal: `regex`},
rightParam: syntaxQueryParamLiteral{literal: `regex`},
comparator: syntaxCompareRegex{
regex: regex,
},
})

case ruleAction39:

p.push(syntaxCompareLiteral{p.pop()})
p.push(syntaxQueryParamLiteral{p.pop()})

case ruleAction40:

p.push(syntaxCompareLiteral{p.pop()})
p.push(syntaxQueryParamLiteral{p.pop()})

case ruleAction41:

node := p.pop().(syntaxNode)
switch node.(type) {
case syntaxRootIdentifier:
p.push(syntaxRootNodeFilter{node.(syntaxRootIdentifier)})
p.push(syntaxQueryParamRoot{node.(syntaxRootIdentifier)})
case syntaxCurrentRootIdentifier:
p.push(syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)})
p.push(syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)})
default:
p.push(syntaxRootNodeFilter{})
p.push(syntaxQueryParamRoot{})
}
if !p.hasErr() && node.isMultiValue() {
p.syntaxErr(begin, msgErrorInvalidSyntaxFilterMultiValuedNode, buffer)
Expand Down Expand Up @@ -4197,8 +4197,8 @@ func (p *parser) Init() {
checkQuery = (query.(syntaxLogicalNot)).param.(syntaxBasicCompareQuery)
}
_, leftIsCurrentRoot := checkQuery.leftParam.(syntaxCurrentRootNodeFilter)
_, rigthIsCurrentRoot := checkQuery.rightParam.(syntaxCurrentRootNodeFilter)
_, leftIsCurrentRoot := checkQuery.leftParam.(syntaxQueryParamCurrentRoot)
_, rigthIsCurrentRoot := checkQuery.rightParam.(syntaxQueryParamCurrentRoot)
if leftIsCurrentRoot && rigthIsCurrentRoot {
p.syntaxErr(begin, msgErrorInvalidSyntaxTwoCurrentNode, buffer)
}
Expand Down Expand Up @@ -4227,11 +4227,11 @@ func (p *parser) Init() {
var nodeFilter syntaxQuery
switch node.(type) {
case syntaxRootIdentifier:
nodeFilter = syntaxRootNodeFilter{node.(syntaxRootIdentifier)}
nodeFilter = syntaxQueryParamRoot{node.(syntaxRootIdentifier)}
case syntaxCurrentRootIdentifier:
nodeFilter = syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)}
nodeFilter = syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)}
default:
nodeFilter = syntaxRootNodeFilter{}
nodeFilter = syntaxQueryParamRoot{}
}
if isLogicalNot {
p.push(syntaxLogicalNot{nodeFilter})
Expand Down Expand Up @@ -4341,15 +4341,15 @@ func (p *parser) Init() {
var nodeFilter syntaxQuery
switch node.(type) {
case syntaxRootIdentifier:
nodeFilter = syntaxRootNodeFilter{node.(syntaxRootIdentifier)}
nodeFilter = syntaxQueryParamRoot{node.(syntaxRootIdentifier)}
case syntaxCurrentRootIdentifier:
nodeFilter = syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)}
nodeFilter = syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)}
default:
nodeFilter = syntaxRootNodeFilter{}
nodeFilter = syntaxQueryParamRoot{}
}
p.push(syntaxBasicCompareQuery{
leftParam: nodeFilter,
rightParam: syntaxCompareLiteral{literal: `regex`},
rightParam: syntaxQueryParamLiteral{literal: `regex`},
comparator: syntaxCompareRegex{
regex: regex,
},
Expand All @@ -4362,7 +4362,7 @@ func (p *parser) Init() {
return true
},
/* 91 Action39 <- <{
p.push(syntaxCompareLiteral{p.pop()})
p.push(syntaxQueryParamLiteral{p.pop()})
}> */
func() bool {
{
Expand All @@ -4371,7 +4371,7 @@ func (p *parser) Init() {
return true
},
/* 92 Action40 <- <{
p.push(syntaxCompareLiteral{p.pop()})
p.push(syntaxQueryParamLiteral{p.pop()})
}> */
func() bool {
{
Expand All @@ -4383,11 +4383,11 @@ func (p *parser) Init() {
node := p.pop().(syntaxNode)
switch node.(type) {
case syntaxRootIdentifier:
p.push(syntaxRootNodeFilter{node.(syntaxRootIdentifier)})
p.push(syntaxQueryParamRoot{node.(syntaxRootIdentifier)})
case syntaxCurrentRootIdentifier:
p.push(syntaxCurrentRootNodeFilter{node.(syntaxCurrentRootIdentifier)})
p.push(syntaxQueryParamCurrentRoot{node.(syntaxCurrentRootIdentifier)})
default:
p.push(syntaxRootNodeFilter{})
p.push(syntaxQueryParamRoot{})
}
if !p.hasErr() && node.isMultiValue() {
p.syntaxErr(begin, msgErrorInvalidSyntaxFilterMultiValuedNode, buffer)
Expand Down
4 changes: 2 additions & 2 deletions syntax_basic_compare_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ func (q *syntaxBasicCompareQuery) getComputeParameters(
var isLiteral bool

switch param.(type) {
case syntaxCompareLiteral:
case syntaxQueryParamLiteral:
isLiteral = true
case syntaxRootNodeFilter:
case syntaxQueryParamRoot:
isLiteral = true
currentMap = map[int]interface{}{0: root}
}
Expand Down
11 changes: 0 additions & 11 deletions syntax_query_compare_literal.go

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package jsonpath

type syntaxCurrentRootNodeFilter struct {
type syntaxQueryParamCurrentRoot struct {
param syntaxCurrentRootIdentifier
}

func (e syntaxCurrentRootNodeFilter) compute(root interface{}, currentMap map[int]interface{}) map[int]interface{} {
func (e syntaxQueryParamCurrentRoot) compute(root interface{}, currentMap map[int]interface{}) map[int]interface{} {
result := make(map[int]interface{}, len(currentMap))
for index, srcNode := range currentMap {
values := resultContainer{}
Expand Down
11 changes: 11 additions & 0 deletions syntax_query_param_literal.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package jsonpath

type syntaxQueryParamLiteral struct {
literal interface{}
}

func (l syntaxQueryParamLiteral) compute(root interface{}, currentMap map[int]interface{}) map[int]interface{} {
result := make(map[int]interface{}, 0)
result[0] = l.literal
return result
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package jsonpath

type syntaxRootNodeFilter struct {
type syntaxQueryParamRoot struct {
param syntaxRootIdentifier
}

func (e syntaxRootNodeFilter) compute(root interface{}, currentMap map[int]interface{}) map[int]interface{} {
func (e syntaxQueryParamRoot) compute(root interface{}, currentMap map[int]interface{}) map[int]interface{} {
result := make(map[int]interface{}, 0)
values := resultContainer{}
if err := e.param.retrieve(root, root, &values); err != nil {
Expand Down

0 comments on commit 698ca8c

Please sign in to comment.