Created
June 9, 2018 17:58
-
-
Save cristaloleg/ee59a952489e0dbf8158088d817228d6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
➜ astify git:(master) ✗ ast-walker blah_test.go | |
0 *ast.File { | |
1 . Package: blah_test.go:1:1 | |
2 . Name: *ast.Ident { | |
3 . . NamePos: blah_test.go:1:9 | |
4 . . Name: "astify" | |
5 . } | |
6 . Decls: []ast.Decl (len = 2) { | |
7 . . 0: *ast.FuncDecl { | |
8 . . . Name: *ast.Ident { | |
9 . . . . NamePos: blah_test.go:3:6 | |
10 . . . . Name: "f" | |
11 . . . . Obj: *ast.Object { | |
12 . . . . . Kind: func | |
13 . . . . . Name: "f" | |
14 . . . . . Decl: *(obj @ 7) | |
15 . . . . } | |
16 . . . } | |
17 . . . Type: *ast.FuncType { | |
18 . . . . Func: blah_test.go:3:1 | |
19 . . . . Params: *ast.FieldList { | |
20 . . . . . Opening: blah_test.go:3:7 | |
21 . . . . . Closing: blah_test.go:3:8 | |
22 . . . . } | |
23 . . . } | |
24 . . . Body: *ast.BlockStmt { | |
25 . . . . Lbrace: blah_test.go:3:10 | |
26 . . . . List: []ast.Stmt (len = 2) { | |
27 . . . . . 0: *ast.AssignStmt { | |
28 . . . . . . Lhs: []ast.Expr (len = 2) { | |
29 . . . . . . . 0: *ast.Ident { | |
30 . . . . . . . . NamePos: blah_test.go:4:2 | |
31 . . . . . . . . Name: "a" | |
32 . . . . . . . . Obj: *ast.Object { | |
33 . . . . . . . . . Kind: var | |
34 . . . . . . . . . Name: "a" | |
35 . . . . . . . . . Decl: *(obj @ 27) | |
36 . . . . . . . . } | |
37 . . . . . . . } | |
38 . . . . . . . 1: *ast.Ident { | |
39 . . . . . . . . NamePos: blah_test.go:4:5 | |
40 . . . . . . . . Name: "b" | |
41 . . . . . . . . Obj: *ast.Object { | |
42 . . . . . . . . . Kind: var | |
43 . . . . . . . . . Name: "b" | |
44 . . . . . . . . . Decl: *(obj @ 27) | |
45 . . . . . . . . } | |
46 . . . . . . . } | |
47 . . . . . . } | |
48 . . . . . . TokPos: blah_test.go:4:7 | |
49 . . . . . . Tok: := | |
50 . . . . . . Rhs: []ast.Expr (len = 1) { | |
51 . . . . . . . 0: *ast.CallExpr { | |
52 . . . . . . . . Fun: *ast.Ident { | |
53 . . . . . . . . . NamePos: blah_test.go:4:10 | |
54 . . . . . . . . . Name: "g" | |
55 . . . . . . . . . Obj: *ast.Object { | |
56 . . . . . . . . . . Kind: func | |
57 . . . . . . . . . . Name: "g" | |
58 . . . . . . . . . . Decl: *ast.FuncDecl { | |
59 . . . . . . . . . . . Name: *ast.Ident { | |
60 . . . . . . . . . . . . NamePos: blah_test.go:8:6 | |
61 . . . . . . . . . . . . Name: "g" | |
62 . . . . . . . . . . . . Obj: *(obj @ 55) | |
63 . . . . . . . . . . . } | |
64 . . . . . . . . . . . Type: *ast.FuncType { | |
65 . . . . . . . . . . . . Func: blah_test.go:8:1 | |
66 . . . . . . . . . . . . Params: *ast.FieldList { | |
67 . . . . . . . . . . . . . Opening: blah_test.go:8:7 | |
68 . . . . . . . . . . . . . Closing: blah_test.go:8:8 | |
69 . . . . . . . . . . . . } | |
70 . . . . . . . . . . . . Results: *ast.FieldList { | |
71 . . . . . . . . . . . . . Opening: blah_test.go:8:10 | |
72 . . . . . . . . . . . . . List: []*ast.Field (len = 2) { | |
73 . . . . . . . . . . . . . . 0: *ast.Field { | |
74 . . . . . . . . . . . . . . . Type: *ast.Ident { | |
75 . . . . . . . . . . . . . . . . NamePos: blah_test.go:8:11 | |
76 . . . . . . . . . . . . . . . . Name: "float32" | |
77 . . . . . . . . . . . . . . . } | |
78 . . . . . . . . . . . . . . } | |
79 . . . . . . . . . . . . . . 1: *ast.Field { | |
80 . . . . . . . . . . . . . . . Type: *ast.Ident { | |
81 . . . . . . . . . . . . . . . . NamePos: blah_test.go:8:20 | |
82 . . . . . . . . . . . . . . . . Name: "float64" | |
83 . . . . . . . . . . . . . . . } | |
84 . . . . . . . . . . . . . . } | |
85 . . . . . . . . . . . . . } | |
86 . . . . . . . . . . . . . Closing: blah_test.go:8:27 | |
87 . . . . . . . . . . . . } | |
88 . . . . . . . . . . . } | |
89 . . . . . . . . . . . Body: *ast.BlockStmt { | |
90 . . . . . . . . . . . . Lbrace: blah_test.go:8:29 | |
91 . . . . . . . . . . . . List: []ast.Stmt (len = 1) { | |
92 . . . . . . . . . . . . . 0: *ast.ReturnStmt { | |
93 . . . . . . . . . . . . . . Return: blah_test.go:17:2 | |
94 . . . . . . . . . . . . . . Results: []ast.Expr (len= 2) { | |
95 . . . . . . . . . . . . . . . 0: *ast.BasicLit { | |
96 . . . . . . . . . . . . . . . . ValuePos: blah_test.go:17:9 | |
97 . . . . . . . . . . . . . . . . Kind: INT | |
98 . . . . . . . . . . . . . . . . Value: "0" | |
99 . . . . . . . . . . . . . . . } | |
100 . . . . . . . . . . . . . . . 1: *ast.BasicLit { | |
101 . . . . . . . . . . . . . . . . ValuePos: blah_test.go:17:12 | |
102 . . . . . . . . . . . . . . . . Kind: INT | |
103 . . . . . . . . . . . . . . . . Value: "0" | |
104 . . . . . . . . . . . . . . . } | |
105 . . . . . . . . . . . . . . } | |
106 . . . . . . . . . . . . . } | |
107 . . . . . . . . . . . . } | |
108 . . . . . . . . . . . . Rbrace: blah_test.go:18:1 | |
109 . . . . . . . . . . . } | |
110 . . . . . . . . . . } | |
111 . . . . . . . . . } | |
112 . . . . . . . . } | |
113 . . . . . . . . Lparen: blah_test.go:4:11 | |
114 . . . . . . . . Ellipsis: - | |
115 . . . . . . . . Rparen: blah_test.go:4:12 | |
116 . . . . . . . } | |
117 . . . . . . } | |
118 . . . . . } | |
119 . . . . . 1: *ast.AssignStmt { | |
120 . . . . . . Lhs: []ast.Expr (len = 2) { | |
121 . . . . . . . 0: *ast.Ident { | |
122 . . . . . . . . NamePos: blah_test.go:5:2 | |
123 . . . . . . . . Name: "_" | |
124 . . . . . . . } | |
125 . . . . . . . 1: *ast.Ident { | |
126 . . . . . . . . NamePos: blah_test.go:5:5 | |
127 . . . . . . . . Name: "_" | |
128 . . . . . . . } | |
129 . . . . . . } | |
130 . . . . . . TokPos: blah_test.go:5:7 | |
131 . . . . . . Tok: = | |
132 . . . . . . Rhs: []ast.Expr (len = 2) { | |
133 . . . . . . . 0: *ast.Ident { | |
134 . . . . . . . . NamePos: blah_test.go:5:9 | |
135 . . . . . . . . Name: "a" | |
136 . . . . . . . . Obj: *(obj @ 32) | |
137 . . . . . . . } | |
138 . . . . . . . 1: *ast.Ident { | |
139 . . . . . . . . NamePos: blah_test.go:5:12 | |
140 . . . . . . . . Name: "b" | |
141 . . . . . . . . Obj: *(obj @ 41) | |
142 . . . . . . . } | |
143 . . . . . . } | |
144 . . . . . } | |
145 . . . . } | |
146 . . . . Rbrace: blah_test.go:6:1 | |
147 . . . } | |
148 . . } | |
149 . . 1: *(obj @ 58) | |
150 . } | |
151 . Scope: *ast.Scope { | |
152 . . Objects: map[string]*ast.Object (len = 2) { | |
153 . . . "f": *(obj @ 11) | |
154 . . . "g": *(obj @ 55) | |
155 . . } | |
156 . } | |
157 . Unresolved: []*ast.Ident (len = 2) { | |
158 . . 0: *(obj @ 74) | |
159 . . 1: *(obj @ 80) | |
160 . } | |
161 } | |
➜ astify git:(master) ✗ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment