removed commented code
This commit is contained in:
+3
-61
@@ -4,65 +4,7 @@
|
||||
// operator-selector.go
|
||||
package expr
|
||||
|
||||
// //-------- export all term
|
||||
|
||||
// func newSelectorTerm(tk *Token) (inst *term) {
|
||||
// return &term{
|
||||
// tk: *tk,
|
||||
// children: make([]*term, 0, 3),
|
||||
// position: posMultifix,
|
||||
// priority: priSelector,
|
||||
// evalFunc: evalSelector,
|
||||
// }
|
||||
// }
|
||||
|
||||
// func isSelectorCase(ctx ExprContext, exprValue, caseSel any, caseIndex int) (selectedValue any, err error) {
|
||||
// caseData, _ := caseSel.(*selectorCase)
|
||||
// if caseData.filterList == nil {
|
||||
// selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
||||
// } else {
|
||||
// filterList := caseData.filterList.children
|
||||
// if len(filterList) == 0 && exprValue == int64(caseIndex) {
|
||||
// selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
||||
// } else {
|
||||
// var caseValue any
|
||||
// for _, caseTerm := range filterList {
|
||||
// if caseValue, err = caseTerm.compute(ctx); err != nil || caseValue == exprValue {
|
||||
// selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
// func evalSelector(ctx ExprContext, self *term) (v any, err error) {
|
||||
// var exprValue any
|
||||
// // var caseList []*term
|
||||
|
||||
// if err = self.checkOperands(); err != nil {
|
||||
// return
|
||||
// }
|
||||
// exprTerm := self.children[0]
|
||||
// if exprValue, err = exprTerm.compute(ctx); err != nil {
|
||||
// return
|
||||
// }
|
||||
|
||||
// caseList := self.children[1:]
|
||||
// for i, caseTerm := range caseList {
|
||||
// caseSel := caseTerm.value()
|
||||
// if v, err = isSelectorCase(ctx, exprValue, caseSel, i); err != nil || v != nil {
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
// if err == nil && v == nil {
|
||||
// err = exprTerm.tk.Errorf("no case catches the value (%v) of the selection expression", exprValue)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
//-------- export all term
|
||||
//-------- selector term
|
||||
|
||||
func newSelectorTerm(tk *Token) (inst *term) {
|
||||
return &term{
|
||||
@@ -74,7 +16,7 @@ func newSelectorTerm(tk *Token) (inst *term) {
|
||||
}
|
||||
}
|
||||
|
||||
func isSelectorCase(ctx ExprContext, exprValue, caseSel any, caseIndex int) (match bool, selectedValue any, err error) {
|
||||
func trySelectorCase(ctx ExprContext, exprValue, caseSel any, caseIndex int) (match bool, selectedValue any, err error) {
|
||||
caseData, _ := caseSel.(*selectorCase)
|
||||
if caseData.filterList == nil {
|
||||
selectedValue, err = caseData.caseExpr.eval(ctx, false)
|
||||
@@ -113,7 +55,7 @@ func evalSelector(ctx ExprContext, self *term) (v any, err error) {
|
||||
caseList, _ := caseListTerm.value().([]*term)
|
||||
for i, caseTerm := range caseList {
|
||||
caseSel := caseTerm.value()
|
||||
if match, v, err = isSelectorCase(ctx, exprValue, caseSel, i); err != nil || match {
|
||||
if match, v, err = trySelectorCase(ctx, exprValue, caseSel, i); err != nil || match {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user