Created
June 9, 2018 17:58
-
-
Save cristaloleg/ee59a952489e0dbf8158088d817228d6 to your computer and use it in GitHub Desktop.
This file contains hidden or 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