MCPcopy Create free account
hub / github.com/cel-expr/cel-go / visitList

Method visitList

parser/unparser.go:341–363  ·  view source on GitHub ↗
(expr ast.Expr)

Source from the content-addressed store, hash-verified

339}
340
341func (un *unparser) visitList(expr ast.Expr) error {
342 l := expr.AsList()
343 elems := l.Elements()
344 optIndices := make(map[int]bool, len(elems))
345 for _, idx := range l.OptionalIndices() {
346 optIndices[int(idx)] = true
347 }
348 un.str.WriteString("[")
349 for i, elem := range elems {
350 if optIndices[i] {
351 un.str.WriteString("?")
352 }
353 err := un.visit(elem)
354 if err != nil {
355 return err
356 }
357 if i < len(elems)-1 {
358 un.str.WriteString(", ")
359 }
360 }
361 un.str.WriteString("]")
362 return nil
363}
364
365func (un *unparser) visitOptSelect(expr ast.Expr) error {
366 c := expr.AsCall()

Callers 1

visitMethod · 0.95

Calls 4

visitMethod · 0.95
AsListMethod · 0.65
ElementsMethod · 0.65
OptionalIndicesMethod · 0.65

Tested by

no test coverage detected