@@ -998,7 +998,7 @@ class SqlParser(
998
998
ParseType .MATCH_EXPR_EDGE -> parts.add(child.toGraphMatchEdge())
999
999
ParseType .MATCH_EXPR_QUANTIFIER -> quantifier = child.toGraphMatchQuantifier(quantifier)
1000
1000
ParseType .MATCH_EXPR_RESTRICTOR -> {
1001
- restrictor = when (child.children[0 ].token!! .sourceText? .toUpperCase()) {
1001
+ restrictor = when (child.children[0 ].token!! .sourceText.toUpperCase()) {
1002
1002
" TRAIL" -> restrictorTrail()
1003
1003
" ACYCLIC" -> restrictorAcyclic()
1004
1004
" SIMPLE" -> restrictorSimple()
@@ -1042,15 +1042,15 @@ class SqlParser(
1042
1042
if (name != null ) error(" Invalid parse tree: name encountered more than once in MATCH" )
1043
1043
val token = child.children[0 ].token!!
1044
1044
val nameText = when (token.type) {
1045
- TokenType .KEYWORD -> token.sourceText!!
1045
+ TokenType .KEYWORD -> token.sourceText
1046
1046
else -> token.text!!
1047
1047
}
1048
1048
name = SymbolPrimitive (nameText, child.getMetas())
1049
1049
}
1050
1050
ParseType .MATCH_EXPR_LABEL -> {
1051
1051
val token = child.children[0 ].token!!
1052
1052
val labelText = when (token.type) {
1053
- TokenType .KEYWORD -> token.sourceText!!
1053
+ TokenType .KEYWORD -> token.sourceText
1054
1054
else -> token.text!!
1055
1055
}
1056
1056
label.add(SymbolPrimitive (labelText, child.getMetas()))
@@ -1127,15 +1127,15 @@ class SqlParser(
1127
1127
if (name != null ) error(" Invalid parse tree: name encountered more than once in MATCH" )
1128
1128
val token = child.children[0 ].token!!
1129
1129
val nameText = when (token.type) {
1130
- TokenType .KEYWORD -> token.sourceText!!
1130
+ TokenType .KEYWORD -> token.sourceText
1131
1131
else -> token.text!!
1132
1132
}
1133
1133
name = SymbolPrimitive (nameText, child.getMetas())
1134
1134
}
1135
1135
ParseType .MATCH_EXPR_LABEL -> {
1136
1136
val token = child.children[0 ].token!!
1137
1137
val labelText = when (token.type) {
1138
- TokenType .KEYWORD -> token.sourceText!!
1138
+ TokenType .KEYWORD -> token.sourceText
1139
1139
else -> token.text!!
1140
1140
}
1141
1141
label.add(SymbolPrimitive (labelText, child.getMetas()))
@@ -3502,7 +3502,7 @@ class SqlParser(
3502
3502
fun consumeKW (keyword : String ): Boolean {
3503
3503
return when (rem.head?.type!! ) {
3504
3504
TokenType .IDENTIFIER , TokenType .QUOTED_IDENTIFIER , TokenType .KEYWORD -> {
3505
- if (rem.head!! .sourceText? .toUpperCase() == keyword) {
3505
+ if (rem.head!! .sourceText.toUpperCase() == keyword) {
3506
3506
rem = rem.tail
3507
3507
true
3508
3508
} else {
@@ -3522,7 +3522,7 @@ class SqlParser(
3522
3522
val startSpan = start.head!! .span
3523
3523
var last = startSpan
3524
3524
var len = 0L
3525
- for (next in start!! .tail.subList(0 , count - 1 )) {
3525
+ for (next in start.tail.subList(0 , count - 1 )) {
3526
3526
if (next.span.line == last.line) {
3527
3527
len + = (next.span.column - last.column)
3528
3528
} else {
@@ -3591,21 +3591,10 @@ class SqlParser(
3591
3591
rem = selector?.remaining ? : rem
3592
3592
3593
3593
val matches = ArrayList <ParseNode >()
3594
- var preComma = rem
3595
3594
do {
3596
- try {
3597
- val pattern = rem.parseMatchPattern()
3598
- matches.add(pattern)
3599
- rem = pattern.remaining
3600
- preComma = rem
3601
- } catch (e: ParserException ) {
3602
- if (matches.isEmpty()) {
3603
- throw e
3604
- } else {
3605
- rem = preComma
3606
- break
3607
- }
3608
- }
3595
+ val pattern = rem.parseMatchPattern()
3596
+ matches.add(pattern)
3597
+ rem = pattern.remaining
3609
3598
} while (consume(TokenType .COMMA ))
3610
3599
3611
3600
return ParseNode (ParseType .MATCH , this .head, listOfNotNull(expr, selector) + matches, rem)
@@ -3966,7 +3955,7 @@ class SqlParser(
3966
3955
fun parseRestrictor (): ParseNode ? {
3967
3956
return when (rem.head?.type!! ) {
3968
3957
TokenType .IDENTIFIER -> {
3969
- if (rem.head!! .sourceText? .toUpperCase() in matchRestrictorKWs) {
3958
+ if (rem.head!! .sourceText.toUpperCase() in matchRestrictorKWs) {
3970
3959
val name = rem.atomFromHead()
3971
3960
rem = name.remaining
3972
3961
ParseNode (ParseType .MATCH_EXPR_RESTRICTOR , null , listOf (name), name.remaining)
@@ -4006,8 +3995,7 @@ class SqlParser(
4006
3995
rem = pattern.remaining
4007
3996
4008
3997
val predicate = if (rem.head?.keywordText == " where" ) {
4009
- val rem = rem.tail
4010
- rem.parseExpression()
3998
+ rem.tail.parseExpression()
4011
3999
} else {
4012
4000
null
4013
4001
}
0 commit comments