diff --git a/operand-selector-case.go b/operand-selector-case.go index 801a385..b4c0ea9 100644 --- a/operand-selector-case.go +++ b/operand-selector-case.go @@ -4,7 +4,10 @@ // operand-selector-case.go package expr -import "fmt" +import ( + "fmt" + "strings" +) // -------- selector case term @@ -13,6 +16,18 @@ type selectorCase struct { 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 { tk := NewValueToken(row, col, SymSelectorCase, "", &selectorCase{filterList: filterList, caseExpr: caseExpr}) return &term{