From 07ca84170e49bfbb4ba80d1cdfa583a37856c030 Mon Sep 17 00:00:00 2001 From: Celestino Amoroso Date: Sat, 13 Apr 2024 04:32:54 +0200 Subject: [PATCH] operand-selector-case.go: String() function added to the selectorCase type --- operand-selector-case.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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{