Skip to content

Commit 100f90b

Browse files
committed
fix: Update getStrValueFromExpression and related functions to check for non-nil Next property when handling PLUS symbol
1 parent 2b8c3c0 commit 100f90b

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

parser/util.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func getStrValueFromExpression(expr *Expression) []string {
1717
return results
1818
}
1919
results = values
20-
if expr.Symbol == PLUS {
20+
if expr.Symbol == PLUS && expr.Next != nil {
2121
var tmpSlice []string
2222
nextStrs := getStrValueFromExpression(expr.Next)
2323
for _, str := range nextStrs {
@@ -35,7 +35,7 @@ func getStrValueFromExpression(expr *Expression) []string {
3535
return results
3636
}
3737

38-
if expr.Symbol == PLUS {
38+
if expr.Symbol == PLUS && expr.Next != nil {
3939
nextStrs := getStrValueFromExpression(expr.Next)
4040
if len(nextStrs) == 0 {
4141
return []string{result}
@@ -80,7 +80,7 @@ func (f *FuncBlock) getValueFromCallExpr(argumentIndex int) []string {
8080
}
8181
} else if arg.RuleIndex == javaAntlr.JavaParserRULE_literal {
8282
values = append(values, strings.Trim(arg.Content, "\""))
83-
if arg.Symbol == PLUS {
83+
if arg.Symbol == PLUS && arg.Next != nil {
8484
var tmpSlice []string
8585
nextStrs := getStrValueFromExpression(arg.Next)
8686
for _, str := range nextStrs {
@@ -148,7 +148,7 @@ func GetSqlsFromVisitor(ctx *JavaVisitor) []string {
148148
// 参数为变量
149149
if arg.RuleIndex == javaAntlr.JavaParserRULE_identifier {
150150
sqls = append(sqls, getVariableValueFromTree(arg.Content, expression.Node)...)
151-
if arg.Symbol == PLUS {
151+
if arg.Symbol == PLUS && arg.Next != nil {
152152
tmpSlice := []string{}
153153
nextSqls := getVariableValueFromTree(arg.Next.Content, expression.Node)
154154
for _, str := range nextSqls {
@@ -168,7 +168,7 @@ func GetSqlsFromVisitor(ctx *JavaVisitor) []string {
168168
continue
169169
}
170170
sqls = append(sqls, sql)
171-
if arg.Symbol == PLUS {
171+
if arg.Symbol == PLUS && arg.Next != nil {
172172
tmpSlice := []string{}
173173
nextSqls := getVariableValueFromTree(arg.Next.Content, expression.Node)
174174
for _, str := range nextSqls {

0 commit comments

Comments
 (0)