-
Notifications
You must be signed in to change notification settings - Fork 1
/
scheme.txt
3497 lines (3496 loc) · 175 KB
/
scheme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Proof of Evolution
0 *ast.File {
1 . Package: examples/tsp/tsp.go:1:1
2 . Name: *ast.Ident {
3 . . NamePos: examples/tsp/tsp.go:1:9
4 . . Name: "main"
5 . }
6 . Decls: []ast.Decl (len = 15) {
7 . . 0: *ast.GenDecl {
8 . . . TokPos: examples/tsp/tsp.go:3:1
9 . . . Tok: import
10 . . . Lparen: examples/tsp/tsp.go:3:7
11 . . . Specs: []ast.Spec (len = 5) {
12 . . . . 0: *ast.ImportSpec {
13 . . . . . Path: *ast.BasicLit {
14 . . . . . . ValuePos: examples/tsp/tsp.go:4:3
15 . . . . . . Kind: STRING
16 . . . . . . Value: "\"math/rand\""
17 . . . . . }
18 . . . . . EndPos: -
19 . . . . }
20 . . . . 1: *ast.ImportSpec {
21 . . . . . Path: *ast.BasicLit {
22 . . . . . . ValuePos: examples/tsp/tsp.go:5:3
23 . . . . . . Kind: STRING
24 . . . . . . Value: "\"io/ioutil\""
25 . . . . . }
26 . . . . . EndPos: -
27 . . . . }
28 . . . . 2: *ast.ImportSpec {
29 . . . . . Path: *ast.BasicLit {
30 . . . . . . ValuePos: examples/tsp/tsp.go:6:3
31 . . . . . . Kind: STRING
32 . . . . . . Value: "\"encoding/json\""
33 . . . . . }
34 . . . . . EndPos: -
35 . . . . }
36 . . . . 3: *ast.ImportSpec {
37 . . . . . Path: *ast.BasicLit {
38 . . . . . . ValuePos: examples/tsp/tsp.go:7:3
39 . . . . . . Kind: STRING
40 . . . . . . Value: "\"github.com/D33pBlue/poe/op\""
41 . . . . . }
42 . . . . . EndPos: -
43 . . . . }
44 . . . . 4: *ast.ImportSpec {
45 . . . . . Name: *ast.Ident {
46 . . . . . . NamePos: examples/tsp/tsp.go:8:3
47 . . . . . . Name: "."
48 . . . . . }
49 . . . . . Path: *ast.BasicLit {
50 . . . . . . ValuePos: examples/tsp/tsp.go:8:5
51 . . . . . . Kind: STRING
52 . . . . . . Value: "\"github.com/D33pBlue/poe/ga\""
53 . . . . . }
54 . . . . . EndPos: -
55 . . . . }
56 . . . }
57 . . . Rparen: examples/tsp/tsp.go:9:1
58 . . }
59 . . 1: *ast.GenDecl {
60 . . . TokPos: examples/tsp/tsp.go:11:1
61 . . . Tok: type
62 . . . Lparen: -
63 . . . Specs: []ast.Spec (len = 1) {
64 . . . . 0: *ast.TypeSpec {
65 . . . . . Name: *ast.Ident {
66 . . . . . . NamePos: examples/tsp/tsp.go:11:6
67 . . . . . . Name: "Problem"
68 . . . . . . Obj: *ast.Object {
69 . . . . . . . Kind: type
70 . . . . . . . Name: "Problem"
71 . . . . . . . Decl: *(obj @ 64)
72 . . . . . . }
73 . . . . . }
74 . . . . . Assign: -
75 . . . . . Type: *ast.StructType {
76 . . . . . . Struct: examples/tsp/tsp.go:11:14
77 . . . . . . Fields: *ast.FieldList {
78 . . . . . . . Opening: examples/tsp/tsp.go:11:20
79 . . . . . . . List: []*ast.Field (len = 3) {
80 . . . . . . . . 0: *ast.Field {
81 . . . . . . . . . Names: []*ast.Ident (len = 1) {
82 . . . . . . . . . . 0: *ast.Ident {
83 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:12:3
84 . . . . . . . . . . . Name: "TourSize"
85 . . . . . . . . . . . Obj: *ast.Object {
86 . . . . . . . . . . . . Kind: var
87 . . . . . . . . . . . . Name: "TourSize"
88 . . . . . . . . . . . . Decl: *(obj @ 80)
89 . . . . . . . . . . . }
90 . . . . . . . . . . }
91 . . . . . . . . . }
92 . . . . . . . . . Type: *ast.Ident {
93 . . . . . . . . . . NamePos: examples/tsp/tsp.go:12:12
94 . . . . . . . . . . Name: "int"
95 . . . . . . . . . }
96 . . . . . . . . }
97 . . . . . . . . 1: *ast.Field {
98 . . . . . . . . . Names: []*ast.Ident (len = 1) {
99 . . . . . . . . . . 0: *ast.Ident {
100 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:13:3
101 . . . . . . . . . . . Name: "DistanceMatrix"
102 . . . . . . . . . . . Obj: *ast.Object {
103 . . . . . . . . . . . . Kind: var
104 . . . . . . . . . . . . Name: "DistanceMatrix"
105 . . . . . . . . . . . . Decl: *(obj @ 97)
106 . . . . . . . . . . . }
107 . . . . . . . . . . }
108 . . . . . . . . . }
109 . . . . . . . . . Type: *ast.ArrayType {
110 . . . . . . . . . . Lbrack: examples/tsp/tsp.go:13:18
111 . . . . . . . . . . Elt: *ast.ArrayType {
112 . . . . . . . . . . . Lbrack: examples/tsp/tsp.go:13:20
113 . . . . . . . . . . . Elt: *ast.Ident {
114 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:13:22
115 . . . . . . . . . . . . Name: "float64"
116 . . . . . . . . . . . }
117 . . . . . . . . . . }
118 . . . . . . . . . }
119 . . . . . . . . }
120 . . . . . . . . 2: *ast.Field {
121 . . . . . . . . . Names: []*ast.Ident (len = 1) {
122 . . . . . . . . . . 0: *ast.Ident {
123 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:14:3
124 . . . . . . . . . . . Name: "OptDistance"
125 . . . . . . . . . . . Obj: *ast.Object {
126 . . . . . . . . . . . . Kind: var
127 . . . . . . . . . . . . Name: "OptDistance"
128 . . . . . . . . . . . . Decl: *(obj @ 120)
129 . . . . . . . . . . . }
130 . . . . . . . . . . }
131 . . . . . . . . . }
132 . . . . . . . . . Type: *ast.Ident {
133 . . . . . . . . . . NamePos: examples/tsp/tsp.go:14:15
134 . . . . . . . . . . Name: "float64"
135 . . . . . . . . . }
136 . . . . . . . . }
137 . . . . . . . }
138 . . . . . . . Closing: examples/tsp/tsp.go:15:1
139 . . . . . . }
140 . . . . . . Incomplete: false
141 . . . . . }
142 . . . . }
143 . . . }
144 . . . Rparen: -
145 . . }
146 . . 2: *ast.GenDecl {
147 . . . TokPos: examples/tsp/tsp.go:17:1
148 . . . Tok: var
149 . . . Lparen: -
150 . . . Specs: []ast.Spec (len = 1) {
151 . . . . 0: *ast.ValueSpec {
152 . . . . . Names: []*ast.Ident (len = 1) {
153 . . . . . . 0: *ast.Ident {
154 . . . . . . . NamePos: examples/tsp/tsp.go:17:5
155 . . . . . . . Name: "problem"
156 . . . . . . . Obj: *ast.Object {
157 . . . . . . . . Kind: var
158 . . . . . . . . Name: "problem"
159 . . . . . . . . Decl: *(obj @ 151)
160 . . . . . . . . Data: 0
161 . . . . . . . }
162 . . . . . . }
163 . . . . . }
164 . . . . . Type: *ast.Ident {
165 . . . . . . NamePos: examples/tsp/tsp.go:17:13
166 . . . . . . Name: "Problem"
167 . . . . . . Obj: *(obj @ 68)
168 . . . . . }
169 . . . . }
170 . . . }
171 . . . Rparen: -
172 . . }
173 . . 3: *ast.GenDecl {
174 . . . TokPos: examples/tsp/tsp.go:19:1
175 . . . Tok: type
176 . . . Lparen: -
177 . . . Specs: []ast.Spec (len = 1) {
178 . . . . 0: *ast.TypeSpec {
179 . . . . . Name: *ast.Ident {
180 . . . . . . NamePos: examples/tsp/tsp.go:19:6
181 . . . . . . Name: "TSP"
182 . . . . . . Obj: *ast.Object {
183 . . . . . . . Kind: type
184 . . . . . . . Name: "TSP"
185 . . . . . . . Decl: *(obj @ 178)
186 . . . . . . }
187 . . . . . }
188 . . . . . Assign: -
189 . . . . . Type: *ast.StructType {
190 . . . . . . Struct: examples/tsp/tsp.go:19:10
191 . . . . . . Fields: *ast.FieldList {
192 . . . . . . . Opening: examples/tsp/tsp.go:19:16
193 . . . . . . . List: []*ast.Field (len = 1) {
194 . . . . . . . . 0: *ast.Field {
195 . . . . . . . . . Names: []*ast.Ident (len = 1) {
196 . . . . . . . . . . 0: *ast.Ident {
197 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:20:3
198 . . . . . . . . . . . Name: "Data"
199 . . . . . . . . . . . Obj: *ast.Object {
200 . . . . . . . . . . . . Kind: var
201 . . . . . . . . . . . . Name: "Data"
202 . . . . . . . . . . . . Decl: *(obj @ 194)
203 . . . . . . . . . . . }
204 . . . . . . . . . . }
205 . . . . . . . . . }
206 . . . . . . . . . Type: *ast.ArrayType {
207 . . . . . . . . . . Lbrack: examples/tsp/tsp.go:20:8
208 . . . . . . . . . . Elt: *ast.Ident {
209 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:20:10
210 . . . . . . . . . . . Name: "int"
211 . . . . . . . . . . }
212 . . . . . . . . . }
213 . . . . . . . . }
214 . . . . . . . }
215 . . . . . . . Closing: examples/tsp/tsp.go:21:1
216 . . . . . . }
217 . . . . . . Incomplete: false
218 . . . . . }
219 . . . . }
220 . . . }
221 . . . Rparen: -
222 . . }
223 . . 4: *ast.GenDecl {
224 . . . TokPos: examples/tsp/tsp.go:23:1
225 . . . Tok: type
226 . . . Lparen: -
227 . . . Specs: []ast.Spec (len = 1) {
228 . . . . 0: *ast.TypeSpec {
229 . . . . . Name: *ast.Ident {
230 . . . . . . NamePos: examples/tsp/tsp.go:23:6
231 . . . . . . Name: "definition"
232 . . . . . . Obj: *ast.Object {
233 . . . . . . . Kind: type
234 . . . . . . . Name: "definition"
235 . . . . . . . Decl: *(obj @ 228)
236 . . . . . . }
237 . . . . . }
238 . . . . . Assign: -
239 . . . . . Type: *ast.Ident {
240 . . . . . . NamePos: examples/tsp/tsp.go:23:17
241 . . . . . . Name: "string"
242 . . . . . }
243 . . . . }
244 . . . }
245 . . . Rparen: -
246 . . }
247 . . 5: *ast.FuncDecl {
248 . . . Recv: *ast.FieldList {
249 . . . . Opening: examples/tsp/tsp.go:25:6
250 . . . . List: []*ast.Field (len = 1) {
251 . . . . . 0: *ast.Field {
252 . . . . . . Names: []*ast.Ident (len = 1) {
253 . . . . . . . 0: *ast.Ident {
254 . . . . . . . . NamePos: examples/tsp/tsp.go:25:7
255 . . . . . . . . Name: "s"
256 . . . . . . . . Obj: *ast.Object {
257 . . . . . . . . . Kind: var
258 . . . . . . . . . Name: "s"
259 . . . . . . . . . Decl: *(obj @ 251)
260 . . . . . . . . }
261 . . . . . . . }
262 . . . . . . }
263 . . . . . . Type: *ast.Ident {
264 . . . . . . . NamePos: examples/tsp/tsp.go:25:9
265 . . . . . . . Name: "definition"
266 . . . . . . . Obj: *(obj @ 232)
267 . . . . . . }
268 . . . . . }
269 . . . . }
270 . . . . Closing: examples/tsp/tsp.go:25:19
271 . . . }
272 . . . Name: *ast.Ident {
273 . . . . NamePos: examples/tsp/tsp.go:25:20
274 . . . . Name: "Initialize"
275 . . . }
276 . . . Type: *ast.FuncType {
277 . . . . Func: examples/tsp/tsp.go:25:1
278 . . . . Params: *ast.FieldList {
279 . . . . . Opening: examples/tsp/tsp.go:25:30
280 . . . . . List: []*ast.Field (len = 1) {
281 . . . . . . 0: *ast.Field {
282 . . . . . . . Names: []*ast.Ident (len = 1) {
283 . . . . . . . . 0: *ast.Ident {
284 . . . . . . . . . NamePos: examples/tsp/tsp.go:25:31
285 . . . . . . . . . Name: "path"
286 . . . . . . . . . Obj: *ast.Object {
287 . . . . . . . . . . Kind: var
288 . . . . . . . . . . Name: "path"
289 . . . . . . . . . . Decl: *(obj @ 281)
290 . . . . . . . . . }
291 . . . . . . . . }
292 . . . . . . . }
293 . . . . . . . Type: *ast.Ident {
294 . . . . . . . . NamePos: examples/tsp/tsp.go:25:36
295 . . . . . . . . Name: "string"
296 . . . . . . . }
297 . . . . . . }
298 . . . . . }
299 . . . . . Closing: examples/tsp/tsp.go:25:42
300 . . . . }
301 . . . }
302 . . . Body: *ast.BlockStmt {
303 . . . . Lbrace: examples/tsp/tsp.go:25:43
304 . . . . List: []ast.Stmt (len = 4) {
305 . . . . . 0: *ast.AssignStmt {
306 . . . . . . Lhs: []ast.Expr (len = 2) {
307 . . . . . . . 0: *ast.Ident {
308 . . . . . . . . NamePos: examples/tsp/tsp.go:26:3
309 . . . . . . . . Name: "dat"
310 . . . . . . . . Obj: *ast.Object {
311 . . . . . . . . . Kind: var
312 . . . . . . . . . Name: "dat"
313 . . . . . . . . . Decl: *(obj @ 305)
314 . . . . . . . . }
315 . . . . . . . }
316 . . . . . . . 1: *ast.Ident {
317 . . . . . . . . NamePos: examples/tsp/tsp.go:26:8
318 . . . . . . . . Name: "err"
319 . . . . . . . . Obj: *ast.Object {
320 . . . . . . . . . Kind: var
321 . . . . . . . . . Name: "err"
322 . . . . . . . . . Decl: *(obj @ 305)
323 . . . . . . . . }
324 . . . . . . . }
325 . . . . . . }
326 . . . . . . TokPos: examples/tsp/tsp.go:26:12
327 . . . . . . Tok: :=
328 . . . . . . Rhs: []ast.Expr (len = 1) {
329 . . . . . . . 0: *ast.CallExpr {
330 . . . . . . . . Fun: *ast.SelectorExpr {
331 . . . . . . . . . X: *ast.Ident {
332 . . . . . . . . . . NamePos: examples/tsp/tsp.go:26:15
333 . . . . . . . . . . Name: "ioutil"
334 . . . . . . . . . }
335 . . . . . . . . . Sel: *ast.Ident {
336 . . . . . . . . . . NamePos: examples/tsp/tsp.go:26:22
337 . . . . . . . . . . Name: "ReadFile"
338 . . . . . . . . . }
339 . . . . . . . . }
340 . . . . . . . . Lparen: examples/tsp/tsp.go:26:30
341 . . . . . . . . Args: []ast.Expr (len = 1) {
342 . . . . . . . . . 0: *ast.Ident {
343 . . . . . . . . . . NamePos: examples/tsp/tsp.go:26:31
344 . . . . . . . . . . Name: "path"
345 . . . . . . . . . . Obj: *(obj @ 286)
346 . . . . . . . . . }
347 . . . . . . . . }
348 . . . . . . . . Ellipsis: -
349 . . . . . . . . Rparen: examples/tsp/tsp.go:26:35
350 . . . . . . . }
351 . . . . . . }
352 . . . . . }
353 . . . . . 1: *ast.IfStmt {
354 . . . . . . If: examples/tsp/tsp.go:27:3
355 . . . . . . Cond: *ast.BinaryExpr {
356 . . . . . . . X: *ast.Ident {
357 . . . . . . . . NamePos: examples/tsp/tsp.go:27:6
358 . . . . . . . . Name: "err"
359 . . . . . . . . Obj: *(obj @ 319)
360 . . . . . . . }
361 . . . . . . . OpPos: examples/tsp/tsp.go:27:10
362 . . . . . . . Op: !=
363 . . . . . . . Y: *ast.Ident {
364 . . . . . . . . NamePos: examples/tsp/tsp.go:27:13
365 . . . . . . . . Name: "nil"
366 . . . . . . . }
367 . . . . . . }
368 . . . . . . Body: *ast.BlockStmt {
369 . . . . . . . Lbrace: examples/tsp/tsp.go:27:17
370 . . . . . . . List: []ast.Stmt (len = 1) {
371 . . . . . . . . 0: *ast.ExprStmt {
372 . . . . . . . . . X: *ast.CallExpr {
373 . . . . . . . . . . Fun: *ast.Ident {
374 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:27:19
375 . . . . . . . . . . . Name: "panic"
376 . . . . . . . . . . }
377 . . . . . . . . . . Lparen: examples/tsp/tsp.go:27:24
378 . . . . . . . . . . Args: []ast.Expr (len = 1) {
379 . . . . . . . . . . . 0: *ast.Ident {
380 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:27:25
381 . . . . . . . . . . . . Name: "err"
382 . . . . . . . . . . . . Obj: *(obj @ 319)
383 . . . . . . . . . . . }
384 . . . . . . . . . . }
385 . . . . . . . . . . Ellipsis: -
386 . . . . . . . . . . Rparen: examples/tsp/tsp.go:27:28
387 . . . . . . . . . }
388 . . . . . . . . }
389 . . . . . . . }
390 . . . . . . . Rbrace: examples/tsp/tsp.go:27:30
391 . . . . . . }
392 . . . . . }
393 . . . . . 2: *ast.AssignStmt {
394 . . . . . . Lhs: []ast.Expr (len = 1) {
395 . . . . . . . 0: *ast.Ident {
396 . . . . . . . . NamePos: examples/tsp/tsp.go:28:3
397 . . . . . . . . Name: "err"
398 . . . . . . . . Obj: *(obj @ 319)
399 . . . . . . . }
400 . . . . . . }
401 . . . . . . TokPos: examples/tsp/tsp.go:28:7
402 . . . . . . Tok: =
403 . . . . . . Rhs: []ast.Expr (len = 1) {
404 . . . . . . . 0: *ast.CallExpr {
405 . . . . . . . . Fun: *ast.SelectorExpr {
406 . . . . . . . . . X: *ast.Ident {
407 . . . . . . . . . . NamePos: examples/tsp/tsp.go:28:9
408 . . . . . . . . . . Name: "json"
409 . . . . . . . . . }
410 . . . . . . . . . Sel: *ast.Ident {
411 . . . . . . . . . . NamePos: examples/tsp/tsp.go:28:14
412 . . . . . . . . . . Name: "Unmarshal"
413 . . . . . . . . . }
414 . . . . . . . . }
415 . . . . . . . . Lparen: examples/tsp/tsp.go:28:23
416 . . . . . . . . Args: []ast.Expr (len = 2) {
417 . . . . . . . . . 0: *ast.CallExpr {
418 . . . . . . . . . . Fun: *ast.ArrayType {
419 . . . . . . . . . . . Lbrack: examples/tsp/tsp.go:28:24
420 . . . . . . . . . . . Elt: *ast.Ident {
421 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:28:26
422 . . . . . . . . . . . . Name: "byte"
423 . . . . . . . . . . . }
424 . . . . . . . . . . }
425 . . . . . . . . . . Lparen: examples/tsp/tsp.go:28:30
426 . . . . . . . . . . Args: []ast.Expr (len = 1) {
427 . . . . . . . . . . . 0: *ast.Ident {
428 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:28:31
429 . . . . . . . . . . . . Name: "dat"
430 . . . . . . . . . . . . Obj: *(obj @ 310)
431 . . . . . . . . . . . }
432 . . . . . . . . . . }
433 . . . . . . . . . . Ellipsis: -
434 . . . . . . . . . . Rparen: examples/tsp/tsp.go:28:34
435 . . . . . . . . . }
436 . . . . . . . . . 1: *ast.UnaryExpr {
437 . . . . . . . . . . OpPos: examples/tsp/tsp.go:28:37
438 . . . . . . . . . . Op: &
439 . . . . . . . . . . X: *ast.Ident {
440 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:28:38
441 . . . . . . . . . . . Name: "problem"
442 . . . . . . . . . . . Obj: *(obj @ 156)
443 . . . . . . . . . . }
444 . . . . . . . . . }
445 . . . . . . . . }
446 . . . . . . . . Ellipsis: -
447 . . . . . . . . Rparen: examples/tsp/tsp.go:28:45
448 . . . . . . . }
449 . . . . . . }
450 . . . . . }
451 . . . . . 3: *ast.IfStmt {
452 . . . . . . If: examples/tsp/tsp.go:29:3
453 . . . . . . Cond: *ast.BinaryExpr {
454 . . . . . . . X: *ast.Ident {
455 . . . . . . . . NamePos: examples/tsp/tsp.go:29:6
456 . . . . . . . . Name: "err"
457 . . . . . . . . Obj: *(obj @ 319)
458 . . . . . . . }
459 . . . . . . . OpPos: examples/tsp/tsp.go:29:10
460 . . . . . . . Op: !=
461 . . . . . . . Y: *ast.Ident {
462 . . . . . . . . NamePos: examples/tsp/tsp.go:29:13
463 . . . . . . . . Name: "nil"
464 . . . . . . . }
465 . . . . . . }
466 . . . . . . Body: *ast.BlockStmt {
467 . . . . . . . Lbrace: examples/tsp/tsp.go:29:17
468 . . . . . . . List: []ast.Stmt (len = 1) {
469 . . . . . . . . 0: *ast.ExprStmt {
470 . . . . . . . . . X: *ast.CallExpr {
471 . . . . . . . . . . Fun: *ast.Ident {
472 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:29:19
473 . . . . . . . . . . . Name: "panic"
474 . . . . . . . . . . }
475 . . . . . . . . . . Lparen: examples/tsp/tsp.go:29:24
476 . . . . . . . . . . Args: []ast.Expr (len = 1) {
477 . . . . . . . . . . . 0: *ast.Ident {
478 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:29:25
479 . . . . . . . . . . . . Name: "err"
480 . . . . . . . . . . . . Obj: *(obj @ 319)
481 . . . . . . . . . . . }
482 . . . . . . . . . . }
483 . . . . . . . . . . Ellipsis: -
484 . . . . . . . . . . Rparen: examples/tsp/tsp.go:29:28
485 . . . . . . . . . }
486 . . . . . . . . }
487 . . . . . . . }
488 . . . . . . . Rbrace: examples/tsp/tsp.go:29:30
489 . . . . . . }
490 . . . . . }
491 . . . . }
492 . . . . Rbrace: examples/tsp/tsp.go:30:1
493 . . . }
494 . . }
495 . . 6: *ast.FuncDecl {
496 . . . Name: *ast.Ident {
497 . . . . NamePos: examples/tsp/tsp.go:32:6
498 . . . . Name: "build"
499 . . . . Obj: *ast.Object {
500 . . . . . Kind: func
501 . . . . . Name: "build"
502 . . . . . Decl: *(obj @ 495)
503 . . . . }
504 . . . }
505 . . . Type: *ast.FuncType {
506 . . . . Func: examples/tsp/tsp.go:32:1
507 . . . . Params: *ast.FieldList {
508 . . . . . Opening: examples/tsp/tsp.go:32:11
509 . . . . . Closing: examples/tsp/tsp.go:32:12
510 . . . . }
511 . . . . Results: *ast.FieldList {
512 . . . . . Opening: -
513 . . . . . List: []*ast.Field (len = 1) {
514 . . . . . . 0: *ast.Field {
515 . . . . . . . Type: *ast.StarExpr {
516 . . . . . . . . Star: examples/tsp/tsp.go:32:13
517 . . . . . . . . X: *ast.Ident {
518 . . . . . . . . . NamePos: examples/tsp/tsp.go:32:14
519 . . . . . . . . . Name: "TSP"
520 . . . . . . . . . Obj: *(obj @ 182)
521 . . . . . . . . }
522 . . . . . . . }
523 . . . . . . }
524 . . . . . }
525 . . . . . Closing: -
526 . . . . }
527 . . . }
528 . . . Body: *ast.BlockStmt {
529 . . . . Lbrace: examples/tsp/tsp.go:32:17
530 . . . . List: []ast.Stmt (len = 3) {
531 . . . . . 0: *ast.DeclStmt {
532 . . . . . . Decl: *ast.GenDecl {
533 . . . . . . . TokPos: examples/tsp/tsp.go:33:3
534 . . . . . . . Tok: var
535 . . . . . . . Lparen: -
536 . . . . . . . Specs: []ast.Spec (len = 1) {
537 . . . . . . . . 0: *ast.ValueSpec {
538 . . . . . . . . . Names: []*ast.Ident (len = 1) {
539 . . . . . . . . . . 0: *ast.Ident {
540 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:33:7
541 . . . . . . . . . . . Name: "tsp"
542 . . . . . . . . . . . Obj: *ast.Object {
543 . . . . . . . . . . . . Kind: var
544 . . . . . . . . . . . . Name: "tsp"
545 . . . . . . . . . . . . Decl: *(obj @ 537)
546 . . . . . . . . . . . . Data: 0
547 . . . . . . . . . . . }
548 . . . . . . . . . . }
549 . . . . . . . . . }
550 . . . . . . . . . Type: *ast.StarExpr {
551 . . . . . . . . . . Star: examples/tsp/tsp.go:33:11
552 . . . . . . . . . . X: *ast.Ident {
553 . . . . . . . . . . . NamePos: examples/tsp/tsp.go:33:12
554 . . . . . . . . . . . Name: "TSP"
555 . . . . . . . . . . . Obj: *(obj @ 182)
556 . . . . . . . . . . }
557 . . . . . . . . . }
558 . . . . . . . . . Values: []ast.Expr (len = 1) {
559 . . . . . . . . . . 0: *ast.CallExpr {
560 . . . . . . . . . . . Fun: *ast.Ident {
561 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:33:18
562 . . . . . . . . . . . . Name: "new"
563 . . . . . . . . . . . }
564 . . . . . . . . . . . Lparen: examples/tsp/tsp.go:33:21
565 . . . . . . . . . . . Args: []ast.Expr (len = 1) {
566 . . . . . . . . . . . . 0: *ast.Ident {
567 . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:33:22
568 . . . . . . . . . . . . . Name: "TSP"
569 . . . . . . . . . . . . . Obj: *(obj @ 182)
570 . . . . . . . . . . . . }
571 . . . . . . . . . . . }
572 . . . . . . . . . . . Ellipsis: -
573 . . . . . . . . . . . Rparen: examples/tsp/tsp.go:33:25
574 . . . . . . . . . . }
575 . . . . . . . . . }
576 . . . . . . . . }
577 . . . . . . . }
578 . . . . . . . Rparen: -
579 . . . . . . }
580 . . . . . }
581 . . . . . 1: *ast.ForStmt {
582 . . . . . . For: examples/tsp/tsp.go:34:3
583 . . . . . . Init: *ast.AssignStmt {
584 . . . . . . . Lhs: []ast.Expr (len = 1) {
585 . . . . . . . . 0: *ast.Ident {
586 . . . . . . . . . NamePos: examples/tsp/tsp.go:34:7
587 . . . . . . . . . Name: "i"
588 . . . . . . . . . Obj: *ast.Object {
589 . . . . . . . . . . Kind: var
590 . . . . . . . . . . Name: "i"
591 . . . . . . . . . . Decl: *(obj @ 583)
592 . . . . . . . . . }
593 . . . . . . . . }
594 . . . . . . . }
595 . . . . . . . TokPos: examples/tsp/tsp.go:34:8
596 . . . . . . . Tok: :=
597 . . . . . . . Rhs: []ast.Expr (len = 1) {
598 . . . . . . . . 0: *ast.BasicLit {
599 . . . . . . . . . ValuePos: examples/tsp/tsp.go:34:10
600 . . . . . . . . . Kind: INT
601 . . . . . . . . . Value: "0"
602 . . . . . . . . }
603 . . . . . . . }
604 . . . . . . }
605 . . . . . . Cond: *ast.BinaryExpr {
606 . . . . . . . X: *ast.Ident {
607 . . . . . . . . NamePos: examples/tsp/tsp.go:34:12
608 . . . . . . . . Name: "i"
609 . . . . . . . . Obj: *(obj @ 588)
610 . . . . . . . }
611 . . . . . . . OpPos: examples/tsp/tsp.go:34:13
612 . . . . . . . Op: <
613 . . . . . . . Y: *ast.SelectorExpr {
614 . . . . . . . . X: *ast.Ident {
615 . . . . . . . . . NamePos: examples/tsp/tsp.go:34:14
616 . . . . . . . . . Name: "problem"
617 . . . . . . . . . Obj: *(obj @ 156)
618 . . . . . . . . }
619 . . . . . . . . Sel: *ast.Ident {
620 . . . . . . . . . NamePos: examples/tsp/tsp.go:34:22
621 . . . . . . . . . Name: "TourSize"
622 . . . . . . . . }
623 . . . . . . . }
624 . . . . . . }
625 . . . . . . Post: *ast.IncDecStmt {
626 . . . . . . . X: *ast.Ident {
627 . . . . . . . . NamePos: examples/tsp/tsp.go:34:31
628 . . . . . . . . Name: "i"
629 . . . . . . . . Obj: *(obj @ 588)
630 . . . . . . . }
631 . . . . . . . TokPos: examples/tsp/tsp.go:34:32
632 . . . . . . . Tok: ++
633 . . . . . . }
634 . . . . . . Body: *ast.BlockStmt {
635 . . . . . . . Lbrace: examples/tsp/tsp.go:34:34
636 . . . . . . . List: []ast.Stmt (len = 1) {
637 . . . . . . . . 0: *ast.AssignStmt {
638 . . . . . . . . . Lhs: []ast.Expr (len = 1) {
639 . . . . . . . . . . 0: *ast.SelectorExpr {
640 . . . . . . . . . . . X: *ast.Ident {
641 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:35:5
642 . . . . . . . . . . . . Name: "tsp"
643 . . . . . . . . . . . . Obj: *(obj @ 542)
644 . . . . . . . . . . . }
645 . . . . . . . . . . . Sel: *ast.Ident {
646 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:35:9
647 . . . . . . . . . . . . Name: "Data"
648 . . . . . . . . . . . }
649 . . . . . . . . . . }
650 . . . . . . . . . }
651 . . . . . . . . . TokPos: examples/tsp/tsp.go:35:14
652 . . . . . . . . . Tok: =
653 . . . . . . . . . Rhs: []ast.Expr (len = 1) {
654 . . . . . . . . . . 0: *ast.CallExpr {
655 . . . . . . . . . . . Fun: *ast.Ident {
656 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:35:16
657 . . . . . . . . . . . . Name: "append"
658 . . . . . . . . . . . }
659 . . . . . . . . . . . Lparen: examples/tsp/tsp.go:35:22
660 . . . . . . . . . . . Args: []ast.Expr (len = 2) {
661 . . . . . . . . . . . . 0: *ast.SelectorExpr {
662 . . . . . . . . . . . . . X: *ast.Ident {
663 . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:35:23
664 . . . . . . . . . . . . . . Name: "tsp"
665 . . . . . . . . . . . . . . Obj: *(obj @ 542)
666 . . . . . . . . . . . . . }
667 . . . . . . . . . . . . . Sel: *ast.Ident {
668 . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:35:27
669 . . . . . . . . . . . . . . Name: "Data"
670 . . . . . . . . . . . . . }
671 . . . . . . . . . . . . }
672 . . . . . . . . . . . . 1: *ast.Ident {
673 . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:35:32
674 . . . . . . . . . . . . . Name: "i"
675 . . . . . . . . . . . . . Obj: *(obj @ 588)
676 . . . . . . . . . . . . }
677 . . . . . . . . . . . }
678 . . . . . . . . . . . Ellipsis: -
679 . . . . . . . . . . . Rparen: examples/tsp/tsp.go:35:33
680 . . . . . . . . . . }
681 . . . . . . . . . }
682 . . . . . . . . }
683 . . . . . . . }
684 . . . . . . . Rbrace: examples/tsp/tsp.go:36:3
685 . . . . . . }
686 . . . . . }
687 . . . . . 2: *ast.ReturnStmt {
688 . . . . . . Return: examples/tsp/tsp.go:37:3
689 . . . . . . Results: []ast.Expr (len = 1) {
690 . . . . . . . 0: *ast.Ident {
691 . . . . . . . . NamePos: examples/tsp/tsp.go:37:10
692 . . . . . . . . Name: "tsp"
693 . . . . . . . . Obj: *(obj @ 542)
694 . . . . . . . }
695 . . . . . . }
696 . . . . . }
697 . . . . }
698 . . . . Rbrace: examples/tsp/tsp.go:38:1
699 . . . }
700 . . }
701 . . 7: *ast.FuncDecl {
702 . . . Recv: *ast.FieldList {
703 . . . . Opening: examples/tsp/tsp.go:40:6
704 . . . . List: []*ast.Field (len = 1) {
705 . . . . . 0: *ast.Field {
706 . . . . . . Names: []*ast.Ident (len = 1) {
707 . . . . . . . 0: *ast.Ident {
708 . . . . . . . . NamePos: examples/tsp/tsp.go:40:7
709 . . . . . . . . Name: "s"
710 . . . . . . . . Obj: *ast.Object {
711 . . . . . . . . . Kind: var
712 . . . . . . . . . Name: "s"
713 . . . . . . . . . Decl: *(obj @ 705)
714 . . . . . . . . }
715 . . . . . . . }
716 . . . . . . }
717 . . . . . . Type: *ast.Ident {
718 . . . . . . . NamePos: examples/tsp/tsp.go:40:9
719 . . . . . . . Name: "definition"
720 . . . . . . . Obj: *(obj @ 232)
721 . . . . . . }
722 . . . . . }
723 . . . . }
724 . . . . Closing: examples/tsp/tsp.go:40:19
725 . . . }
726 . . . Name: *ast.Ident {
727 . . . . NamePos: examples/tsp/tsp.go:40:20
728 . . . . Name: "New"
729 . . . }
730 . . . Type: *ast.FuncType {
731 . . . . Func: examples/tsp/tsp.go:40:1
732 . . . . Params: *ast.FieldList {
733 . . . . . Opening: examples/tsp/tsp.go:40:23
734 . . . . . Closing: examples/tsp/tsp.go:40:24
735 . . . . }
736 . . . . Results: *ast.FieldList {
737 . . . . . Opening: -
738 . . . . . List: []*ast.Field (len = 1) {
739 . . . . . . 0: *ast.Field {
740 . . . . . . . Type: *ast.Ident {
741 . . . . . . . . NamePos: examples/tsp/tsp.go:40:25
742 . . . . . . . . Name: "DNA"
743 . . . . . . . }
744 . . . . . . }
745 . . . . . }
746 . . . . . Closing: -
747 . . . . }
748 . . . }
749 . . . Body: *ast.BlockStmt {
750 . . . . Lbrace: examples/tsp/tsp.go:40:28
751 . . . . List: []ast.Stmt (len = 1) {
752 . . . . . 0: *ast.ReturnStmt {
753 . . . . . . Return: examples/tsp/tsp.go:41:3
754 . . . . . . Results: []ast.Expr (len = 1) {
755 . . . . . . . 0: *ast.CallExpr {
756 . . . . . . . . Fun: *ast.Ident {
757 . . . . . . . . . NamePos: examples/tsp/tsp.go:41:10
758 . . . . . . . . . Name: "build"
759 . . . . . . . . . Obj: *(obj @ 499)
760 . . . . . . . . }
761 . . . . . . . . Lparen: examples/tsp/tsp.go:41:15
762 . . . . . . . . Ellipsis: -
763 . . . . . . . . Rparen: examples/tsp/tsp.go:41:16
764 . . . . . . . }
765 . . . . . . }
766 . . . . . }
767 . . . . }
768 . . . . Rbrace: examples/tsp/tsp.go:42:1
769 . . . }
770 . . }
771 . . 8: *ast.FuncDecl {
772 . . . Recv: *ast.FieldList {
773 . . . . Opening: examples/tsp/tsp.go:44:6
774 . . . . List: []*ast.Field (len = 1) {
775 . . . . . 0: *ast.Field {
776 . . . . . . Names: []*ast.Ident (len = 1) {
777 . . . . . . . 0: *ast.Ident {
778 . . . . . . . . NamePos: examples/tsp/tsp.go:44:7
779 . . . . . . . . Name: "self"
780 . . . . . . . . Obj: *ast.Object {
781 . . . . . . . . . Kind: var
782 . . . . . . . . . Name: "self"
783 . . . . . . . . . Decl: *(obj @ 775)
784 . . . . . . . . }
785 . . . . . . . }
786 . . . . . . }
787 . . . . . . Type: *ast.StarExpr {
788 . . . . . . . Star: examples/tsp/tsp.go:44:12
789 . . . . . . . X: *ast.Ident {
790 . . . . . . . . NamePos: examples/tsp/tsp.go:44:13
791 . . . . . . . . Name: "TSP"
792 . . . . . . . . Obj: *(obj @ 182)
793 . . . . . . . }
794 . . . . . . }
795 . . . . . }
796 . . . . }
797 . . . . Closing: examples/tsp/tsp.go:44:16
798 . . . }
799 . . . Name: *ast.Ident {
800 . . . . NamePos: examples/tsp/tsp.go:44:17
801 . . . . Name: "Generate"
802 . . . }
803 . . . Type: *ast.FuncType {
804 . . . . Func: examples/tsp/tsp.go:44:1
805 . . . . Params: *ast.FieldList {
806 . . . . . Opening: examples/tsp/tsp.go:44:25
807 . . . . . List: []*ast.Field (len = 1) {
808 . . . . . . 0: *ast.Field {
809 . . . . . . . Names: []*ast.Ident (len = 1) {
810 . . . . . . . . 0: *ast.Ident {
811 . . . . . . . . . NamePos: examples/tsp/tsp.go:44:26
812 . . . . . . . . . Name: "prng"
813 . . . . . . . . . Obj: *ast.Object {
814 . . . . . . . . . . Kind: var
815 . . . . . . . . . . Name: "prng"
816 . . . . . . . . . . Decl: *(obj @ 808)
817 . . . . . . . . . }
818 . . . . . . . . }
819 . . . . . . . }
820 . . . . . . . Type: *ast.StarExpr {
821 . . . . . . . . Star: examples/tsp/tsp.go:44:31
822 . . . . . . . . X: *ast.SelectorExpr {
823 . . . . . . . . . X: *ast.Ident {
824 . . . . . . . . . . NamePos: examples/tsp/tsp.go:44:32
825 . . . . . . . . . . Name: "rand"
826 . . . . . . . . . }
827 . . . . . . . . . Sel: *ast.Ident {
828 . . . . . . . . . . NamePos: examples/tsp/tsp.go:44:37
829 . . . . . . . . . . Name: "Rand"
830 . . . . . . . . . }
831 . . . . . . . . }
832 . . . . . . . }
833 . . . . . . }
834 . . . . . }
835 . . . . . Closing: examples/tsp/tsp.go:44:41
836 . . . . }
837 . . . . Results: *ast.FieldList {
838 . . . . . Opening: -
839 . . . . . List: []*ast.Field (len = 1) {
840 . . . . . . 0: *ast.Field {
841 . . . . . . . Type: *ast.Ident {
842 . . . . . . . . NamePos: examples/tsp/tsp.go:44:43
843 . . . . . . . . Name: "DNA"
844 . . . . . . . }
845 . . . . . . }
846 . . . . . }
847 . . . . . Closing: -
848 . . . . }
849 . . . }
850 . . . Body: *ast.BlockStmt {
851 . . . . Lbrace: examples/tsp/tsp.go:44:46
852 . . . . List: []ast.Stmt (len = 3) {
853 . . . . . 0: *ast.AssignStmt {
854 . . . . . . Lhs: []ast.Expr (len = 1) {
855 . . . . . . . 0: *ast.Ident {
856 . . . . . . . . NamePos: examples/tsp/tsp.go:45:3
857 . . . . . . . . Name: "tsp"
858 . . . . . . . . Obj: *ast.Object {
859 . . . . . . . . . Kind: var
860 . . . . . . . . . Name: "tsp"
861 . . . . . . . . . Decl: *(obj @ 853)
862 . . . . . . . . }
863 . . . . . . . }
864 . . . . . . }
865 . . . . . . TokPos: examples/tsp/tsp.go:45:7
866 . . . . . . Tok: :=
867 . . . . . . Rhs: []ast.Expr (len = 1) {
868 . . . . . . . 0: *ast.CallExpr {
869 . . . . . . . . Fun: *ast.Ident {
870 . . . . . . . . . NamePos: examples/tsp/tsp.go:45:10
871 . . . . . . . . . Name: "build"
872 . . . . . . . . . Obj: *(obj @ 499)
873 . . . . . . . . }
874 . . . . . . . . Lparen: examples/tsp/tsp.go:45:15
875 . . . . . . . . Ellipsis: -
876 . . . . . . . . Rparen: examples/tsp/tsp.go:45:16
877 . . . . . . . }
878 . . . . . . }
879 . . . . . }
880 . . . . . 1: *ast.ExprStmt {
881 . . . . . . X: *ast.CallExpr {
882 . . . . . . . Fun: *ast.SelectorExpr {
883 . . . . . . . . X: *ast.Ident {
884 . . . . . . . . . NamePos: examples/tsp/tsp.go:46:3
885 . . . . . . . . . Name: "prng"
886 . . . . . . . . . Obj: *(obj @ 813)
887 . . . . . . . . }
888 . . . . . . . . Sel: *ast.Ident {
889 . . . . . . . . . NamePos: examples/tsp/tsp.go:46:8
890 . . . . . . . . . Name: "Shuffle"
891 . . . . . . . . }
892 . . . . . . . }
893 . . . . . . . Lparen: examples/tsp/tsp.go:46:15
894 . . . . . . . Args: []ast.Expr (len = 2) {
895 . . . . . . . . 0: *ast.CallExpr {
896 . . . . . . . . . Fun: *ast.Ident {
897 . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:16
898 . . . . . . . . . . Name: "len"
899 . . . . . . . . . }
900 . . . . . . . . . Lparen: examples/tsp/tsp.go:46:19
901 . . . . . . . . . Args: []ast.Expr (len = 1) {
902 . . . . . . . . . . 0: *ast.SelectorExpr {
903 . . . . . . . . . . . X: *ast.Ident {
904 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:20
905 . . . . . . . . . . . . Name: "tsp"
906 . . . . . . . . . . . . Obj: *(obj @ 858)
907 . . . . . . . . . . . }
908 . . . . . . . . . . . Sel: *ast.Ident {
909 . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:24
910 . . . . . . . . . . . . Name: "Data"
911 . . . . . . . . . . . }
912 . . . . . . . . . . }
913 . . . . . . . . . }
914 . . . . . . . . . Ellipsis: -
915 . . . . . . . . . Rparen: examples/tsp/tsp.go:46:28
916 . . . . . . . . }
917 . . . . . . . . 1: *ast.FuncLit {
918 . . . . . . . . . Type: *ast.FuncType {
919 . . . . . . . . . . Func: examples/tsp/tsp.go:46:30
920 . . . . . . . . . . Params: *ast.FieldList {
921 . . . . . . . . . . . Opening: examples/tsp/tsp.go:46:34
922 . . . . . . . . . . . List: []*ast.Field (len = 1) {
923 . . . . . . . . . . . . 0: *ast.Field {
924 . . . . . . . . . . . . . Names: []*ast.Ident (len = 2) {
925 . . . . . . . . . . . . . . 0: *ast.Ident {
926 . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:35
927 . . . . . . . . . . . . . . . Name: "i"
928 . . . . . . . . . . . . . . . Obj: *ast.Object {
929 . . . . . . . . . . . . . . . . Kind: var
930 . . . . . . . . . . . . . . . . Name: "i"
931 . . . . . . . . . . . . . . . . Decl: *(obj @ 923)
932 . . . . . . . . . . . . . . . }
933 . . . . . . . . . . . . . . }
934 . . . . . . . . . . . . . . 1: *ast.Ident {
935 . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:37
936 . . . . . . . . . . . . . . . Name: "j"
937 . . . . . . . . . . . . . . . Obj: *ast.Object {
938 . . . . . . . . . . . . . . . . Kind: var
939 . . . . . . . . . . . . . . . . Name: "j"
940 . . . . . . . . . . . . . . . . Decl: *(obj @ 923)
941 . . . . . . . . . . . . . . . }
942 . . . . . . . . . . . . . . }
943 . . . . . . . . . . . . . }
944 . . . . . . . . . . . . . Type: *ast.Ident {
945 . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:39
946 . . . . . . . . . . . . . . Name: "int"
947 . . . . . . . . . . . . . }
948 . . . . . . . . . . . . }
949 . . . . . . . . . . . }
950 . . . . . . . . . . . Closing: examples/tsp/tsp.go:46:42
951 . . . . . . . . . . }
952 . . . . . . . . . }
953 . . . . . . . . . Body: *ast.BlockStmt {
954 . . . . . . . . . . Lbrace: examples/tsp/tsp.go:46:43
955 . . . . . . . . . . List: []ast.Stmt (len = 1) {
956 . . . . . . . . . . . 0: *ast.AssignStmt {
957 . . . . . . . . . . . . Lhs: []ast.Expr (len = 2) {
958 . . . . . . . . . . . . . 0: *ast.IndexExpr {
959 . . . . . . . . . . . . . . X: *ast.SelectorExpr {
960 . . . . . . . . . . . . . . . X: *ast.Ident {
961 . . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:44
962 . . . . . . . . . . . . . . . . Name: "tsp"
963 . . . . . . . . . . . . . . . . Obj: *(obj @ 858)
964 . . . . . . . . . . . . . . . }
965 . . . . . . . . . . . . . . . Sel: *ast.Ident {
966 . . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:48
967 . . . . . . . . . . . . . . . . Name: "Data"
968 . . . . . . . . . . . . . . . }
969 . . . . . . . . . . . . . . }
970 . . . . . . . . . . . . . . Lbrack: examples/tsp/tsp.go:46:52
971 . . . . . . . . . . . . . . Index: *ast.Ident {
972 . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:53
973 . . . . . . . . . . . . . . . Name: "i"
974 . . . . . . . . . . . . . . . Obj: *(obj @ 928)
975 . . . . . . . . . . . . . . }
976 . . . . . . . . . . . . . . Rbrack: examples/tsp/tsp.go:46:54
977 . . . . . . . . . . . . . }
978 . . . . . . . . . . . . . 1: *ast.IndexExpr {
979 . . . . . . . . . . . . . . X: *ast.SelectorExpr {
980 . . . . . . . . . . . . . . . X: *ast.Ident {
981 . . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:56
982 . . . . . . . . . . . . . . . . Name: "tsp"
983 . . . . . . . . . . . . . . . . Obj: *(obj @ 858)
984 . . . . . . . . . . . . . . . }
985 . . . . . . . . . . . . . . . Sel: *ast.Ident {
986 . . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:60
987 . . . . . . . . . . . . . . . . Name: "Data"
988 . . . . . . . . . . . . . . . }
989 . . . . . . . . . . . . . . }
990 . . . . . . . . . . . . . . Lbrack: examples/tsp/tsp.go:46:64
991 . . . . . . . . . . . . . . Index: *ast.Ident {
992 . . . . . . . . . . . . . . . NamePos: examples/tsp/tsp.go:46:65
993 . . . . . . . . . . . . . . . Name: "j"
994 . . . . . . . . . . . . . . . Obj: *(obj @ 937)
995 . . . . . . . . . . . . . . }
996 . . . . . . . . . . . . . . Rbrack: examples/tsp/tsp.go:46:66
997 . . . . . . . . . . . . . }
998 . . . . . . . . . . . . }