MCPcopy Create free account
hub / github.com/expr-lang/expr / arrayNode

Method arrayNode

checker/checker.go:1315–1331  ·  view source on GitHub ↗
(node *ast.ArrayNode)

Source from the content-addressed store, hash-verified

1313}
1314
1315func (v *Checker) arrayNode(node *ast.ArrayNode) Nature {
1316 var prev Nature
1317 allElementsAreSameType := true
1318 for i, node := range node.Nodes {
1319 curr := v.visit(node)
1320 if i > 0 {
1321 if curr.Kind != prev.Kind {
1322 allElementsAreSameType = false
1323 }
1324 }
1325 prev = curr
1326 }
1327 if allElementsAreSameType {
1328 return prev.MakeArrayOf(&v.config.NtCache)
1329 }
1330 return v.config.NtCache.FromType(arrayType)
1331}
1332
1333func (v *Checker) mapNode(node *ast.MapNode) Nature {
1334 for _, pair := range node.Pairs {

Callers 1

visitMethod · 0.95

Implementers 3

Configconf/config.go
Checkerchecker/checker.go
OperatorOverloadingpatcher/operator_override.go

Calls 3

visitMethod · 0.95
MakeArrayOfMethod · 0.95
FromTypeMethod · 0.80

Tested by

no test coverage detected