Skip to content

Commit e4f3b41

Browse files
authored
expr v2
1 parent 674ce63 commit e4f3b41

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+12966
-4076
lines changed

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*.exe
2+
*.exe~
3+
*.dll
4+
*.so
5+
*.dylib
6+
*.test
7+
*.out

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
language: go
22
go:
3+
- "1.12"
34
- "1.11"
45
- "1.10"
56
- "1.9"

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2018 Anton Medvedev
3+
Copyright (c) 2019 Anton Medvedev
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

UPGRADE.md

-29
This file was deleted.

ast/base_visitor.go

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package ast
2+
3+
type BaseVisitor struct{}
4+
5+
func (BaseVisitor) NilNode(node *NilNode) {}
6+
7+
func (BaseVisitor) IdentifierNode(node *IdentifierNode) {}
8+
9+
func (BaseVisitor) IntegerNode(node *IntegerNode) {}
10+
11+
func (BaseVisitor) FloatNode(node *FloatNode) {}
12+
13+
func (BaseVisitor) BoolNode(node *BoolNode) {}
14+
15+
func (BaseVisitor) StringNode(node *StringNode) {}
16+
17+
func (BaseVisitor) UnaryNode(node *UnaryNode) {}
18+
19+
func (BaseVisitor) BinaryNode(node *BinaryNode) {}
20+
21+
func (BaseVisitor) MatchesNode(node *MatchesNode) {}
22+
23+
func (BaseVisitor) PropertyNode(node *PropertyNode) {}
24+
25+
func (BaseVisitor) IndexNode(node *IndexNode) {}
26+
27+
func (BaseVisitor) MethodNode(node *MethodNode) {}
28+
29+
func (BaseVisitor) FunctionNode(node *FunctionNode) {}
30+
31+
func (BaseVisitor) BuiltinNode(node *BuiltinNode) {}
32+
33+
func (BaseVisitor) ClosureNode(node *ClosureNode) {}
34+
35+
func (BaseVisitor) PointerNode(node *PointerNode) {}
36+
37+
func (BaseVisitor) ConditionalNode(node *ConditionalNode) {}
38+
39+
func (BaseVisitor) ArrayNode(node *ArrayNode) {}
40+
41+
func (BaseVisitor) MapNode(node *MapNode) {}
42+
43+
func (BaseVisitor) PairNode(node *PairNode) {}

ast/location.go

+165
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
package ast
2+
3+
import (
4+
"reflect"
5+
)
6+
7+
func (n *NilNode) SetType(t reflect.Type) {
8+
n.t = t
9+
}
10+
11+
func (n *NilNode) GetType() reflect.Type {
12+
return n.t
13+
}
14+
15+
func (n *IdentifierNode) SetType(t reflect.Type) {
16+
n.t = t
17+
}
18+
19+
func (n *IdentifierNode) GetType() reflect.Type {
20+
return n.t
21+
}
22+
23+
func (n *IntegerNode) SetType(t reflect.Type) {
24+
n.t = t
25+
}
26+
27+
func (n *IntegerNode) GetType() reflect.Type {
28+
return n.t
29+
}
30+
31+
func (n *FloatNode) SetType(t reflect.Type) {
32+
n.t = t
33+
}
34+
35+
func (n *FloatNode) GetType() reflect.Type {
36+
return n.t
37+
}
38+
39+
func (n *BoolNode) SetType(t reflect.Type) {
40+
n.t = t
41+
}
42+
43+
func (n *BoolNode) GetType() reflect.Type {
44+
return n.t
45+
}
46+
47+
func (n *StringNode) SetType(t reflect.Type) {
48+
n.t = t
49+
}
50+
51+
func (n *StringNode) GetType() reflect.Type {
52+
return n.t
53+
}
54+
55+
func (n *UnaryNode) SetType(t reflect.Type) {
56+
n.t = t
57+
}
58+
59+
func (n *UnaryNode) GetType() reflect.Type {
60+
return n.t
61+
}
62+
63+
func (n *BinaryNode) SetType(t reflect.Type) {
64+
n.t = t
65+
}
66+
67+
func (n *BinaryNode) GetType() reflect.Type {
68+
return n.t
69+
}
70+
71+
func (n *MatchesNode) SetType(t reflect.Type) {
72+
n.t = t
73+
}
74+
75+
func (n *MatchesNode) GetType() reflect.Type {
76+
return n.t
77+
}
78+
79+
func (n *PropertyNode) SetType(t reflect.Type) {
80+
n.t = t
81+
}
82+
83+
func (n *PropertyNode) GetType() reflect.Type {
84+
return n.t
85+
}
86+
87+
func (n *IndexNode) SetType(t reflect.Type) {
88+
n.t = t
89+
}
90+
91+
func (n *IndexNode) GetType() reflect.Type {
92+
return n.t
93+
}
94+
95+
func (n *MethodNode) SetType(t reflect.Type) {
96+
n.t = t
97+
}
98+
99+
func (n *MethodNode) GetType() reflect.Type {
100+
return n.t
101+
}
102+
103+
func (n *FunctionNode) SetType(t reflect.Type) {
104+
n.t = t
105+
}
106+
107+
func (n *FunctionNode) GetType() reflect.Type {
108+
return n.t
109+
}
110+
111+
func (n *BuiltinNode) SetType(t reflect.Type) {
112+
n.t = t
113+
}
114+
115+
func (n *BuiltinNode) GetType() reflect.Type {
116+
return n.t
117+
}
118+
119+
func (n *ClosureNode) SetType(t reflect.Type) {
120+
n.t = t
121+
}
122+
123+
func (n *ClosureNode) GetType() reflect.Type {
124+
return n.t
125+
}
126+
127+
func (n *PointerNode) SetType(t reflect.Type) {
128+
n.t = t
129+
}
130+
131+
func (n *PointerNode) GetType() reflect.Type {
132+
return n.t
133+
}
134+
135+
func (n *ConditionalNode) SetType(t reflect.Type) {
136+
n.t = t
137+
}
138+
139+
func (n *ConditionalNode) GetType() reflect.Type {
140+
return n.t
141+
}
142+
143+
func (n *ArrayNode) SetType(t reflect.Type) {
144+
n.t = t
145+
}
146+
147+
func (n *ArrayNode) GetType() reflect.Type {
148+
return n.t
149+
}
150+
151+
func (n *MapNode) SetType(t reflect.Type) {
152+
n.t = t
153+
}
154+
155+
func (n *MapNode) GetType() reflect.Type {
156+
return n.t
157+
}
158+
159+
func (n *PairNode) GetType() reflect.Type {
160+
return n.t
161+
}
162+
163+
func (n *PairNode) SetType(t reflect.Type) {
164+
n.t = t
165+
}

0 commit comments

Comments
 (0)