class.js.EXPECTED revision 1739:4a6a1fd3d3dd
1[
2  {
3    "classElements": [
4      {
5        "getter": {
6          "endPosition": "96",
7          "kind": "FUNCTION_EXPRESSION",
8          "name": "null",
9          "body": {
10            "endPosition": "143",
11            "kind": "BLOCK",
12            "statements": [
13              {
14                "expression": {
15                  "condition": {
16                    "expression": {
17                      "identifier": "count_",
18                      "expression": {
19                        "endPosition": "118",
20                        "kind": "IDENTIFIER",
21                        "this": "true",
22                        "name": "this",
23                        "startPosition": "114"
24                      },
25                      "endPosition": "125",
26                      "kind": "MEMBER_SELECT",
27                      "startPosition": "114"
28                    },
29                    "endPosition": "125",
30                    "kind": "LOGICAL_COMPLEMENT",
31                    "startPosition": "113"
32                  },
33                  "endPosition": "143",
34                  "kind": "CONDITIONAL_EXPRESSION",
35                  "trueExpression": {
36                    "endPosition": "129",
37                    "kind": "NUMBER_LITERAL",
38                    "value": "0",
39                    "startPosition": "128"
40                  },
41                  "falseExpression": {
42                    "identifier": "count_",
43                    "expression": {
44                      "endPosition": "136",
45                      "kind": "IDENTIFIER",
46                      "this": "true",
47                      "name": "this",
48                      "startPosition": "132"
49                    },
50                    "endPosition": "143",
51                    "kind": "MEMBER_SELECT",
52                    "startPosition": "132"
53                  },
54                  "startPosition": "126"
55                },
56                "endPosition": "143",
57                "kind": "RETURN",
58                "startPosition": "106"
59              }
60            ],
61            "startPosition": "96"
62          },
63          "strict": "true",
64          "startPosition": "96",
65          "parameters": []
66        },
67        "static": "true",
68        "endPosition": "149",
69        "kind": "PROPERTY",
70        "setter": {
71          "endPosition": "181",
72          "kind": "FUNCTION_EXPRESSION",
73          "name": "null",
74          "body": {
75            "endPosition": "209",
76            "kind": "BLOCK",
77            "statements": [
78              {
79                "expression": {
80                  "expression": {
81                    "endPosition": "209",
82                    "kind": "IDENTIFIER",
83                    "name": "val",
84                    "startPosition": "206"
85                  },
86                  "endPosition": "209",
87                  "kind": "ASSIGNMENT",
88                  "variable": {
89                    "identifier": "count_",
90                    "expression": {
91                      "endPosition": "196",
92                      "kind": "IDENTIFIER",
93                      "this": "true",
94                      "name": "this",
95                      "startPosition": "192"
96                    },
97                    "endPosition": "203",
98                    "kind": "MEMBER_SELECT",
99                    "startPosition": "192"
100                  },
101                  "startPosition": "192"
102                },
103                "endPosition": "209",
104                "kind": "EXPRESSION_STATEMENT",
105                "startPosition": "192"
106              }
107            ],
108            "startPosition": "181"
109          },
110          "strict": "true",
111          "startPosition": "181",
112          "parameters": [
113            {
114              "endPosition": "179",
115              "kind": "IDENTIFIER",
116              "name": "val",
117              "startPosition": "176"
118            }
119          ]
120        },
121        "value": "null",
122        "startPosition": "80",
123        "key": {
124          "endPosition": "93",
125          "kind": "IDENTIFIER",
126          "name": "numShapes",
127          "startPosition": "84"
128        }
129      }
130    ],
131    "endPosition": "12",
132    "kind": "CLASS",
133    "classHeritage": "null",
134    "name": {
135      "endPosition": "12",
136      "kind": "IDENTIFIER",
137      "name": "Shape",
138      "startPosition": "7"
139    },
140    "constructor": {
141      "getter": "null",
142      "endPosition": "67",
143      "kind": "PROPERTY",
144      "setter": "null",
145      "value": {
146        "endPosition": "33",
147        "kind": "FUNCTION_EXPRESSION",
148        "name": {
149          "endPosition": "30",
150          "kind": "IDENTIFIER",
151          "name": "constructor",
152          "startPosition": "19"
153        },
154        "body": {
155          "endPosition": "61",
156          "kind": "BLOCK",
157          "statements": [
158            {
159              "expression": {
160                "expression": {
161                  "identifier": "numShapes",
162                  "expression": {
163                    "endPosition": "48",
164                    "kind": "IDENTIFIER",
165                    "name": "Shape",
166                    "startPosition": "43"
167                  },
168                  "endPosition": "58",
169                  "kind": "MEMBER_SELECT",
170                  "startPosition": "43"
171                },
172                "endPosition": "60",
173                "kind": "POSTFIX_INCREMENT",
174                "startPosition": "43"
175              },
176              "endPosition": "60",
177              "kind": "EXPRESSION_STATEMENT",
178              "startPosition": "43"
179            }
180          ],
181          "startPosition": "33"
182        },
183        "strict": "true",
184        "startPosition": "33",
185        "parameters": []
186      },
187      "startPosition": "19",
188      "key": {
189        "endPosition": "30",
190        "kind": "IDENTIFIER",
191        "name": "constructor",
192        "startPosition": "19"
193      }
194    },
195    "startPosition": "1"
196  },
197  {
198    "classElements": [
199      {
200        "getter": "null",
201        "static": "true",
202        "endPosition": "419",
203        "kind": "PROPERTY",
204        "setter": "null",
205        "value": {
206          "endPosition": "388",
207          "kind": "FUNCTION_EXPRESSION",
208          "name": {
209            "endPosition": "371",
210            "kind": "IDENTIFIER",
211            "name": "draw",
212            "startPosition": "367"
213          },
214          "body": {
215            "endPosition": "389",
216            "kind": "BLOCK",
217            "statements": [],
218            "startPosition": "388"
219          },
220          "strict": "true",
221          "startPosition": "388",
222          "parameters": [
223            {
224              "endPosition": "378",
225              "kind": "IDENTIFIER",
226              "name": "circle",
227              "startPosition": "372"
228            },
229            {
230              "endPosition": "386",
231              "kind": "IDENTIFIER",
232              "name": "canvas",
233              "startPosition": "380"
234            }
235          ]
236        },
237        "startPosition": "367",
238        "key": {
239          "endPosition": "371",
240          "kind": "IDENTIFIER",
241          "name": "draw",
242          "startPosition": "367"
243        }
244      },
245      {
246        "getter": {
247          "endPosition": "449",
248          "kind": "FUNCTION_EXPRESSION",
249          "name": "null",
250          "body": {
251            "endPosition": "496",
252            "kind": "BLOCK",
253            "statements": [
254              {
255                "expression": {
256                  "condition": {
257                    "expression": {
258                      "identifier": "count_",
259                      "expression": {
260                        "endPosition": "471",
261                        "kind": "IDENTIFIER",
262                        "this": "true",
263                        "name": "this",
264                        "startPosition": "467"
265                      },
266                      "endPosition": "478",
267                      "kind": "MEMBER_SELECT",
268                      "startPosition": "467"
269                    },
270                    "endPosition": "478",
271                    "kind": "LOGICAL_COMPLEMENT",
272                    "startPosition": "466"
273                  },
274                  "endPosition": "496",
275                  "kind": "CONDITIONAL_EXPRESSION",
276                  "trueExpression": {
277                    "endPosition": "482",
278                    "kind": "NUMBER_LITERAL",
279                    "value": "0",
280                    "startPosition": "481"
281                  },
282                  "falseExpression": {
283                    "identifier": "count_",
284                    "expression": {
285                      "endPosition": "489",
286                      "kind": "IDENTIFIER",
287                      "this": "true",
288                      "name": "this",
289                      "startPosition": "485"
290                    },
291                    "endPosition": "496",
292                    "kind": "MEMBER_SELECT",
293                    "startPosition": "485"
294                  },
295                  "startPosition": "479"
296                },
297                "endPosition": "496",
298                "kind": "RETURN",
299                "startPosition": "459"
300              }
301            ],
302            "startPosition": "449"
303          },
304          "strict": "true",
305          "startPosition": "449",
306          "parameters": []
307        },
308        "static": "true",
309        "endPosition": "502",
310        "kind": "PROPERTY",
311        "setter": {
312          "endPosition": "535",
313          "kind": "FUNCTION_EXPRESSION",
314          "name": "null",
315          "body": {
316            "endPosition": "563",
317            "kind": "BLOCK",
318            "statements": [
319              {
320                "expression": {
321                  "expression": {
322                    "endPosition": "563",
323                    "kind": "IDENTIFIER",
324                    "name": "val",
325                    "startPosition": "560"
326                  },
327                  "endPosition": "563",
328                  "kind": "ASSIGNMENT",
329                  "variable": {
330                    "identifier": "count_",
331                    "expression": {
332                      "endPosition": "550",
333                      "kind": "IDENTIFIER",
334                      "this": "true",
335                      "name": "this",
336                      "startPosition": "546"
337                    },
338                    "endPosition": "557",
339                    "kind": "MEMBER_SELECT",
340                    "startPosition": "546"
341                  },
342                  "startPosition": "546"
343                },
344                "endPosition": "563",
345                "kind": "EXPRESSION_STATEMENT",
346                "startPosition": "546"
347              }
348            ],
349            "startPosition": "535"
350          },
351          "strict": "true",
352          "startPosition": "535",
353          "parameters": [
354            {
355              "endPosition": "533",
356              "kind": "IDENTIFIER",
357              "name": "val",
358              "startPosition": "530"
359            }
360          ]
361        },
362        "value": "null",
363        "startPosition": "432",
364        "key": {
365          "endPosition": "446",
366          "kind": "IDENTIFIER",
367          "name": "numCircles",
368          "startPosition": "436"
369        }
370      },
371      {
372        "getter": "null",
373        "endPosition": "639",
374        "kind": "PROPERTY",
375        "setter": "null",
376        "value": {
377          "endPosition": "582",
378          "kind": "FUNCTION_EXPRESSION",
379          "name": {
380            "endPosition": "579",
381            "kind": "IDENTIFIER",
382            "name": "area",
383            "startPosition": "575"
384          },
385          "body": {
386            "endPosition": "633",
387            "kind": "BLOCK",
388            "statements": [
389              {
390                "expression": {
391                  "leftOperand": {
392                    "endPosition": "623",
393                    "kind": "FUNCTION_INVOCATION",
394                    "functionSelect": {
395                      "identifier": "pow",
396                      "expression": {
397                        "endPosition": "603",
398                        "kind": "IDENTIFIER",
399                        "name": "Math",
400                        "startPosition": "599"
401                      },
402                      "endPosition": "607",
403                      "kind": "MEMBER_SELECT",
404                      "startPosition": "599"
405                    },
406                    "arguments": [
407                      {
408                        "identifier": "radius",
409                        "expression": {
410                          "endPosition": "612",
411                          "kind": "IDENTIFIER",
412                          "this": "true",
413                          "name": "this",
414                          "startPosition": "608"
415                        },
416                        "endPosition": "619",
417                        "kind": "MEMBER_SELECT",
418                        "startPosition": "608"
419                      },
420                      {
421                        "endPosition": "622",
422                        "kind": "NUMBER_LITERAL",
423                        "value": "2",
424                        "startPosition": "621"
425                      }
426                    ],
427                    "startPosition": "599"
428                  },
429                  "endPosition": "633",
430                  "kind": "MULTIPLY",
431                  "rightOperand": {
432                    "identifier": "PI",
433                    "expression": {
434                      "endPosition": "630",
435                      "kind": "IDENTIFIER",
436                      "name": "Math",
437                      "startPosition": "626"
438                    },
439                    "endPosition": "633",
440                    "kind": "MEMBER_SELECT",
441                    "startPosition": "626"
442                  },
443                  "startPosition": "599"
444                },
445                "endPosition": "633",
446                "kind": "RETURN",
447                "startPosition": "592"
448              }
449            ],
450            "startPosition": "582"
451          },
452          "strict": "true",
453          "startPosition": "582",
454          "parameters": []
455        },
456        "startPosition": "575",
457        "key": {
458          "endPosition": "579",
459          "kind": "IDENTIFIER",
460          "name": "area",
461          "startPosition": "575"
462        }
463      },
464      {
465        "getter": {
466          "endPosition": "658",
467          "kind": "FUNCTION_EXPRESSION",
468          "name": "null",
469          "body": {
470            "endPosition": "687",
471            "kind": "BLOCK",
472            "statements": [
473              {
474                "expression": {
475                  "identifier": "radius_",
476                  "expression": {
477                    "endPosition": "679",
478                    "kind": "IDENTIFIER",
479                    "this": "true",
480                    "name": "this",
481                    "startPosition": "675"
482                  },
483                  "endPosition": "687",
484                  "kind": "MEMBER_SELECT",
485                  "startPosition": "675"
486                },
487                "endPosition": "687",
488                "kind": "RETURN",
489                "startPosition": "668"
490              }
491            ],
492            "startPosition": "658"
493          },
494          "strict": "true",
495          "startPosition": "658",
496          "parameters": []
497        },
498        "endPosition": "693",
499        "kind": "PROPERTY",
500        "setter": {
501          "endPosition": "718",
502          "kind": "FUNCTION_EXPRESSION",
503          "name": "null",
504          "body": {
505            "endPosition": "852",
506            "kind": "BLOCK",
507            "statements": [
508              {
509                "condition": {
510                  "expression": {
511                    "endPosition": "757",
512                    "kind": "FUNCTION_INVOCATION",
513                    "functionSelect": {
514                      "identifier": "isInteger",
515                      "expression": {
516                        "endPosition": "739",
517                        "kind": "IDENTIFIER",
518                        "name": "Number",
519                        "startPosition": "733"
520                      },
521                      "endPosition": "749",
522                      "kind": "MEMBER_SELECT",
523                      "startPosition": "733"
524                    },
525                    "arguments": [
526                      {
527                        "endPosition": "756",
528                        "kind": "IDENTIFIER",
529                        "name": "radius",
530                        "startPosition": "750"
531                      }
532                    ],
533                    "startPosition": "733"
534                  },
535                  "endPosition": "757",
536                  "kind": "LOGICAL_COMPLEMENT",
537                  "startPosition": "732"
538                },
539                "elseStatement": "null",
540                "endPosition": "822",
541                "kind": "IF",
542                "startPosition": "728",
543                "thenStatement": {
544                  "expression": {
545                    "constructorExpression": {
546                      "endPosition": "821",
547                      "kind": "FUNCTION_INVOCATION",
548                      "functionSelect": {
549                        "endPosition": "790",
550                        "kind": "IDENTIFIER",
551                        "name": "TypeError",
552                        "startPosition": "781"
553                      },
554                      "arguments": [
555                        {
556                          "endPosition": "819",
557                          "kind": "STRING_LITERAL",
558                          "value": "Circle radius is not an int",
559                          "startPosition": "792"
560                        }
561                      ],
562                      "startPosition": "781"
563                    },
564                    "endPosition": "821",
565                    "kind": "NEW",
566                    "startPosition": "777"
567                  },
568                  "endPosition": "822",
569                  "kind": "THROW",
570                  "startPosition": "771"
571                }
572              },
573              {
574                "expression": {
575                  "expression": {
576                    "endPosition": "852",
577                    "kind": "IDENTIFIER",
578                    "name": "radius",
579                    "startPosition": "846"
580                  },
581                  "endPosition": "852",
582                  "kind": "ASSIGNMENT",
583                  "variable": {
584                    "identifier": "radius_",
585                    "expression": {
586                      "endPosition": "835",
587                      "kind": "IDENTIFIER",
588                      "this": "true",
589                      "name": "this",
590                      "startPosition": "831"
591                    },
592                    "endPosition": "843",
593                    "kind": "MEMBER_SELECT",
594                    "startPosition": "831"
595                  },
596                  "startPosition": "831"
597                },
598                "endPosition": "852",
599                "kind": "EXPRESSION_STATEMENT",
600                "startPosition": "831"
601              }
602            ],
603            "startPosition": "718"
604          },
605          "strict": "true",
606          "startPosition": "718",
607          "parameters": [
608            {
609              "endPosition": "716",
610              "kind": "IDENTIFIER",
611              "name": "radius",
612              "startPosition": "710"
613            }
614          ]
615        },
616        "value": "null",
617        "startPosition": "645",
618        "key": {
619          "endPosition": "655",
620          "kind": "IDENTIFIER",
621          "name": "radius",
622          "startPosition": "649"
623        }
624      }
625    ],
626    "endPosition": "231",
627    "kind": "CLASS",
628    "classHeritage": {
629      "endPosition": "245",
630      "kind": "IDENTIFIER",
631      "name": "Shape",
632      "startPosition": "240"
633    },
634    "name": {
635      "endPosition": "231",
636      "kind": "IDENTIFIER",
637      "name": "Circle",
638      "startPosition": "225"
639    },
640    "constructor": {
641      "getter": "null",
642      "endPosition": "354",
643      "kind": "PROPERTY",
644      "setter": "null",
645      "value": {
646        "endPosition": "272",
647        "kind": "FUNCTION_EXPRESSION",
648        "name": {
649          "endPosition": "263",
650          "kind": "IDENTIFIER",
651          "name": "constructor",
652          "startPosition": "252"
653        },
654        "body": {
655          "endPosition": "348",
656          "kind": "BLOCK",
657          "statements": [
658            {
659              "expression": {
660                "endPosition": "289",
661                "kind": "FUNCTION_INVOCATION",
662                "functionSelect": {
663                  "super": "true",
664                  "endPosition": "287",
665                  "kind": "IDENTIFIER",
666                  "name": "super",
667                  "startPosition": "282"
668                },
669                "arguments": [],
670                "startPosition": "282"
671              },
672              "endPosition": "289",
673              "kind": "EXPRESSION_STATEMENT",
674              "startPosition": "282"
675            },
676            {
677              "expression": {
678                "expression": {
679                  "endPosition": "320",
680                  "kind": "IDENTIFIER",
681                  "name": "radius",
682                  "startPosition": "314"
683                },
684                "endPosition": "320",
685                "kind": "ASSIGNMENT",
686                "variable": {
687                  "identifier": "radius_",
688                  "expression": {
689                    "endPosition": "303",
690                    "kind": "IDENTIFIER",
691                    "this": "true",
692                    "name": "this",
693                    "startPosition": "299"
694                  },
695                  "endPosition": "311",
696                  "kind": "MEMBER_SELECT",
697                  "startPosition": "299"
698                },
699                "startPosition": "299"
700              },
701              "endPosition": "320",
702              "kind": "EXPRESSION_STATEMENT",
703              "startPosition": "299"
704            },
705            {
706              "expression": {
707                "expression": {
708                  "identifier": "numCircles",
709                  "expression": {
710                    "endPosition": "335",
711                    "kind": "IDENTIFIER",
712                    "name": "Circle",
713                    "startPosition": "329"
714                  },
715                  "endPosition": "346",
716                  "kind": "MEMBER_SELECT",
717                  "startPosition": "329"
718                },
719                "endPosition": "348",
720                "kind": "POSTFIX_INCREMENT",
721                "startPosition": "329"
722              },
723              "endPosition": "348",
724              "kind": "EXPRESSION_STATEMENT",
725              "startPosition": "329"
726            }
727          ],
728          "startPosition": "272"
729        },
730        "strict": "true",
731        "startPosition": "272",
732        "parameters": [
733          {
734            "endPosition": "270",
735            "kind": "IDENTIFIER",
736            "name": "radius",
737            "startPosition": "264"
738          }
739        ]
740      },
741      "startPosition": "252",
742      "key": {
743        "endPosition": "263",
744        "kind": "IDENTIFIER",
745        "name": "constructor",
746        "startPosition": "252"
747      }
748    },
749    "startPosition": "219"
750  }
751]
752