operator-selector.go: fixed the case match algorithm
This commit is contained in:
parent
e297f2a1d3
commit
53dacd5332
@ -78,8 +78,7 @@ func isSelectorCase(ctx ExprContext, exprValue, caseSel any, caseIndex int) (sel
|
|||||||
caseData, _ := caseSel.(*selectorCase)
|
caseData, _ := caseSel.(*selectorCase)
|
||||||
if caseData.filterList == nil {
|
if caseData.filterList == nil {
|
||||||
selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
||||||
} else {
|
} else if filterList, ok := caseData.filterList.value().([]*term); ok {
|
||||||
filterList := caseData.filterList.children
|
|
||||||
if len(filterList) == 0 && exprValue == int64(caseIndex) {
|
if len(filterList) == 0 && exprValue == int64(caseIndex) {
|
||||||
selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user