MCPcopy Index your code
hub / github.com/expr-lang/expr / patchWithType

Function patchWithType

optimizer/optimizer.go:58–76  ·  view source on GitHub ↗
(node *Node, newNode Node)

Source from the content-addressed store, hash-verified

56)
57
58func patchWithType(node *Node, newNode Node) {
59 switch n := newNode.(type) {
60 case *BoolNode:
61 newNode.SetType(boolType)
62 case *IntegerNode:
63 newNode.SetType(integerType)
64 case *FloatNode:
65 newNode.SetType(floatType)
66 case *StringNode:
67 newNode.SetType(stringType)
68 case *ConstantNode:
69 newNode.SetType(reflect.TypeOf(n.Value))
70 case *BinaryNode:
71 newNode.SetType(n.Type())
72 default:
73 panic(fmt.Sprintf("unknown type %T", newNode))
74 }
75 Patch(node, newNode)
76}
77
78func patchCopyType(node *Node, newNode Node) {
79 t := (*node).Type()

Callers 3

VisitMethod · 0.85
VisitMethod · 0.85
VisitMethod · 0.85

Calls 4

SprintfMethod · 0.80
SetTypeMethod · 0.65
TypeMethod · 0.65
PatchFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…