MCPcopy Create free account
hub / github.com/brimdata/super / arrayElems

Method arrayElems

compiler/semantic/expr.go:1232–1250  ·  view source on GitHub ↗
(elems []ast.ArrayElem, inType super.Type)

Source from the content-addressed store, hash-verified

1230}
1231
1232func (t *translator) arrayElems(elems []ast.ArrayElem, inType super.Type) ([]sem.ArrayElem, super.Type) {
1233 var out []sem.ArrayElem
1234 var types []super.Type
1235 for _, elem := range elems {
1236 switch elem := elem.(type) {
1237 case *ast.SpreadElem:
1238 elemExpr, elemType := t.expr(elem.Expr, inType)
1239 out = append(out, &sem.SpreadElem{Node: elem, Expr: elemExpr})
1240 types = append(types, elemType)
1241 case *ast.ExprElem:
1242 elemExpr, elemType := t.expr(elem.Expr, inType)
1243 out = append(out, &sem.ExprElem{Node: elem, Expr: elemExpr})
1244 types = append(types, elemType)
1245 default:
1246 panic(elem)
1247 }
1248 }
1249 return out, t.checker.fuse(types)
1250}
1251
1252func (t *translator) fstringExpr(f *ast.FStringExpr, inType super.Type) (sem.Expr, super.Type) {
1253 if len(f.Elems) == 0 {

Callers 1

exprMethod · 0.95

Calls 2

exprMethod · 0.95
fuseMethod · 0.45

Tested by

no test coverage detected