Skip to content

Commit 3001a80

Browse files
committed
Remove Type alias
1 parent 59b1ec8 commit 3001a80

File tree

2 files changed

+34
-36
lines changed

2 files changed

+34
-36
lines changed

node.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package expr
22

33
import (
4+
"reflect"
45
"regexp"
56
)
67

78
// Node represents items of abstract syntax tree.
89
type Node interface {
9-
Type(table typesTable) (Type, error)
10+
Type(table typesTable) (reflect.Type, error)
1011
Eval(env interface{}) (interface{}, error)
1112
}
1213

type.go

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ import (
55
"reflect"
66
)
77

8-
// Type is a reflect.Type alias.
9-
type Type = reflect.Type
10-
11-
type typesTable map[string]Type
8+
type typesTable map[string]reflect.Type
129

1310
var (
1411
nilType = reflect.TypeOf(nil)
@@ -20,34 +17,34 @@ var (
2017
interfaceType = reflect.TypeOf(new(interface{})).Elem()
2118
)
2219

23-
func (n nilNode) Type(table typesTable) (Type, error) {
20+
func (n nilNode) Type(table typesTable) (reflect.Type, error) {
2421
return nil, nil
2522
}
2623

27-
func (n identifierNode) Type(table typesTable) (Type, error) {
24+
func (n identifierNode) Type(table typesTable) (reflect.Type, error) {
2825
return textType, nil
2926
}
3027

31-
func (n numberNode) Type(table typesTable) (Type, error) {
28+
func (n numberNode) Type(table typesTable) (reflect.Type, error) {
3229
return numberType, nil
3330
}
3431

35-
func (n boolNode) Type(table typesTable) (Type, error) {
32+
func (n boolNode) Type(table typesTable) (reflect.Type, error) {
3633
return boolType, nil
3734
}
3835

39-
func (n textNode) Type(table typesTable) (Type, error) {
36+
func (n textNode) Type(table typesTable) (reflect.Type, error) {
4037
return textType, nil
4138
}
4239

43-
func (n nameNode) Type(table typesTable) (Type, error) {
40+
func (n nameNode) Type(table typesTable) (reflect.Type, error) {
4441
if t, ok := table[n.name]; ok {
4542
return t, nil
4643
}
4744
return nil, fmt.Errorf("unknown name %v", n)
4845
}
4946

50-
func (n unaryNode) Type(table typesTable) (Type, error) {
47+
func (n unaryNode) Type(table typesTable) (reflect.Type, error) {
5148
ntype, err := n.node.Type(table)
5249
if err != nil {
5350
return nil, err
@@ -64,7 +61,7 @@ func (n unaryNode) Type(table typesTable) (Type, error) {
6461
return interfaceType, nil
6562
}
6663

67-
func (n binaryNode) Type(table typesTable) (Type, error) {
64+
func (n binaryNode) Type(table typesTable) (reflect.Type, error) {
6865
var err error
6966
ltype, err := n.left.Type(table)
7067
if err != nil {
@@ -126,7 +123,7 @@ func (n binaryNode) Type(table typesTable) (Type, error) {
126123
return interfaceType, nil
127124
}
128125

129-
func (n matchesNode) Type(table typesTable) (Type, error) {
126+
func (n matchesNode) Type(table typesTable) (reflect.Type, error) {
130127
var err error
131128
ltype, err := n.left.Type(table)
132129
if err != nil {
@@ -142,7 +139,7 @@ func (n matchesNode) Type(table typesTable) (Type, error) {
142139
return nil, fmt.Errorf(`invalid operation: %v (mismatched types %v and %v)`, n, ltype, rtype)
143140
}
144141

145-
func (n propertyNode) Type(table typesTable) (Type, error) {
142+
func (n propertyNode) Type(table typesTable) (reflect.Type, error) {
146143
ntype, err := n.node.Type(table)
147144
if err != nil {
148145
return nil, err
@@ -153,7 +150,7 @@ func (n propertyNode) Type(table typesTable) (Type, error) {
153150
return nil, fmt.Errorf("%v undefined (type %v has no field %v)", n, ntype, n.property)
154151
}
155152

156-
func (n indexNode) Type(table typesTable) (Type, error) {
153+
func (n indexNode) Type(table typesTable) (reflect.Type, error) {
157154
ntype, err := n.node.Type(table)
158155
if err != nil {
159156
return nil, err
@@ -168,7 +165,7 @@ func (n indexNode) Type(table typesTable) (Type, error) {
168165
return nil, fmt.Errorf("invalid operation: %v (type %v does not support indexing)", n, ntype)
169166
}
170167

171-
func (n methodNode) Type(table typesTable) (Type, error) {
168+
func (n methodNode) Type(table typesTable) (reflect.Type, error) {
172169
ntype, err := n.node.Type(table)
173170
if err != nil {
174171
return nil, err
@@ -188,7 +185,7 @@ func (n methodNode) Type(table typesTable) (Type, error) {
188185
return nil, fmt.Errorf("%v undefined (type %v has no method %v)", n, ntype, n.method)
189186
}
190187

191-
func (n builtinNode) Type(table typesTable) (Type, error) {
188+
func (n builtinNode) Type(table typesTable) (reflect.Type, error) {
192189
for _, node := range n.arguments {
193190
_, err := node.Type(table)
194191
if err != nil {
@@ -203,7 +200,7 @@ func (n builtinNode) Type(table typesTable) (Type, error) {
203200
return nil, fmt.Errorf("%v undefined", n)
204201
}
205202

206-
func (n functionNode) Type(table typesTable) (Type, error) {
203+
func (n functionNode) Type(table typesTable) (reflect.Type, error) {
207204
for _, node := range n.arguments {
208205
_, err := node.Type(table)
209206
if err != nil {
@@ -218,7 +215,7 @@ func (n functionNode) Type(table typesTable) (Type, error) {
218215
return nil, fmt.Errorf("unknown func %v", n)
219216
}
220217

221-
func (n conditionalNode) Type(table typesTable) (Type, error) {
218+
func (n conditionalNode) Type(table typesTable) (reflect.Type, error) {
222219
ctype, err := n.cond.Type(table)
223220
if err != nil {
224221
return nil, err
@@ -251,7 +248,7 @@ func (n conditionalNode) Type(table typesTable) (Type, error) {
251248
return interfaceType, nil
252249
}
253250

254-
func (n arrayNode) Type(table typesTable) (Type, error) {
251+
func (n arrayNode) Type(table typesTable) (reflect.Type, error) {
255252
for _, node := range n.nodes {
256253
_, err := node.Type(table)
257254
if err != nil {
@@ -261,7 +258,7 @@ func (n arrayNode) Type(table typesTable) (Type, error) {
261258
return arrayType, nil
262259
}
263260

264-
func (n mapNode) Type(table typesTable) (Type, error) {
261+
func (n mapNode) Type(table typesTable) (reflect.Type, error) {
265262
for _, node := range n.pairs {
266263
_, err := node.Type(table)
267264
if err != nil {
@@ -271,7 +268,7 @@ func (n mapNode) Type(table typesTable) (Type, error) {
271268
return mapType, nil
272269
}
273270

274-
func (n pairNode) Type(table typesTable) (Type, error) {
271+
func (n pairNode) Type(table typesTable) (reflect.Type, error) {
275272
var err error
276273
_, err = n.key.Type(table)
277274
if err != nil {
@@ -286,7 +283,7 @@ func (n pairNode) Type(table typesTable) (Type, error) {
286283

287284
// helper funcs for reflect
288285

289-
func isComparable(l Type, r Type) bool {
286+
func isComparable(l, r reflect.Type) bool {
290287
l = dereference(l)
291288
r = dereference(r)
292289

@@ -306,7 +303,7 @@ func isComparable(l Type, r Type) bool {
306303
return false
307304
}
308305

309-
func isInterfaceType(t Type) bool {
306+
func isInterfaceType(t reflect.Type) bool {
310307
t = dereference(t)
311308
if t != nil {
312309
switch t.Kind() {
@@ -317,7 +314,7 @@ func isInterfaceType(t Type) bool {
317314
return false
318315
}
319316

320-
func isNumberType(t Type) bool {
317+
func isNumberType(t reflect.Type) bool {
321318
t = dereference(t)
322319
if t != nil {
323320
switch t.Kind() {
@@ -332,7 +329,7 @@ func isNumberType(t Type) bool {
332329
return false
333330
}
334331

335-
func isBoolType(t Type) bool {
332+
func isBoolType(t reflect.Type) bool {
336333
t = dereference(t)
337334
if t != nil {
338335
switch t.Kind() {
@@ -343,7 +340,7 @@ func isBoolType(t Type) bool {
343340
return false
344341
}
345342

346-
func isStringType(t Type) bool {
343+
func isStringType(t reflect.Type) bool {
347344
t = dereference(t)
348345
if t != nil {
349346
switch t.Kind() {
@@ -354,7 +351,7 @@ func isStringType(t Type) bool {
354351
return false
355352
}
356353

357-
func isArrayType(t Type) bool {
354+
func isArrayType(t reflect.Type) bool {
358355
t = dereference(t)
359356
if t != nil {
360357
switch t.Kind() {
@@ -365,7 +362,7 @@ func isArrayType(t Type) bool {
365362
return false
366363
}
367364

368-
func isMapType(t Type) bool {
365+
func isMapType(t reflect.Type) bool {
369366
t = dereference(t)
370367
if t != nil {
371368
switch t.Kind() {
@@ -376,7 +373,7 @@ func isMapType(t Type) bool {
376373
return false
377374
}
378375

379-
func isStructType(t Type) bool {
376+
func isStructType(t reflect.Type) bool {
380377
t = dereference(t)
381378
if t != nil {
382379
switch t.Kind() {
@@ -387,7 +384,7 @@ func isStructType(t Type) bool {
387384
return false
388385
}
389386

390-
func fieldType(ntype Type, name string) (Type, bool) {
387+
func fieldType(ntype reflect.Type, name string) (reflect.Type, bool) {
391388
ntype = dereference(ntype)
392389
if ntype != nil {
393390
switch ntype.Kind() {
@@ -419,7 +416,7 @@ func fieldType(ntype Type, name string) (Type, bool) {
419416
return nil, false
420417
}
421418

422-
func methodType(ntype Type, name string) (Type, bool) {
419+
func methodType(ntype reflect.Type, name string) (reflect.Type, bool) {
423420
ntype = dereference(ntype)
424421
if ntype != nil {
425422
switch ntype.Kind() {
@@ -459,7 +456,7 @@ func methodType(ntype Type, name string) (Type, bool) {
459456
return nil, false
460457
}
461458

462-
func indexType(ntype Type) (Type, bool) {
459+
func indexType(ntype reflect.Type) (reflect.Type, bool) {
463460
ntype = dereference(ntype)
464461
if ntype == nil {
465462
return nil, false
@@ -475,7 +472,7 @@ func indexType(ntype Type) (Type, bool) {
475472
return nil, false
476473
}
477474

478-
func funcType(ntype Type) (Type, bool) {
475+
func funcType(ntype reflect.Type) (reflect.Type, bool) {
479476
ntype = dereference(ntype)
480477
if ntype == nil {
481478
return nil, false
@@ -494,7 +491,7 @@ func funcType(ntype Type) (Type, bool) {
494491
return nil, false
495492
}
496493

497-
func dereference(ntype Type) Type {
494+
func dereference(ntype reflect.Type) reflect.Type {
498495
if ntype == nil {
499496
return nil
500497
}

0 commit comments

Comments
 (0)