operand-selector-case.go: String() function added to the selectorCase type

This commit is contained in:
Celestino Amoroso 2024-04-13 04:32:54 +02:00
parent 55e136e9bc
commit 07ca84170e

View File

@ -4,7 +4,10 @@
// operand-selector-case.go // operand-selector-case.go
package expr package expr
import "fmt" import (
"fmt"
"strings"
)
// -------- selector case term // -------- selector case term
@ -13,6 +16,18 @@ type selectorCase struct {
caseExpr Expr caseExpr Expr
} }
func (sc *selectorCase) String() string {
var sb strings.Builder
if sc.filterList != nil {
sc.filterList.toString(&sb)
sb.WriteByte(' ')
}
sb.WriteByte('{')
sb.WriteString(sc.caseExpr.String())
sb.WriteByte('}')
return sb.String()
}
func newSelectorCaseTerm(row, col int, filterList *term, caseExpr Expr) *term { func newSelectorCaseTerm(row, col int, filterList *term, caseExpr Expr) *term {
tk := NewValueToken(row, col, SymSelectorCase, "", &selectorCase{filterList: filterList, caseExpr: caseExpr}) tk := NewValueToken(row, col, SymSelectorCase, "", &selectorCase{filterList: filterList, caseExpr: caseExpr})
return &term{ return &term{