| [ |
| { |
| "classElements": [ |
| { |
| "getter": { |
| "endPosition": "96", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": "null", |
| "body": { |
| "endPosition": "143", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "condition": { |
| "expression": { |
| "identifier": "count_", |
| "expression": { |
| "endPosition": "118", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "114" |
| }, |
| "endPosition": "125", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "114" |
| }, |
| "endPosition": "125", |
| "kind": "LOGICAL_COMPLEMENT", |
| "startPosition": "113" |
| }, |
| "endPosition": "143", |
| "kind": "CONDITIONAL_EXPRESSION", |
| "trueExpression": { |
| "endPosition": "129", |
| "kind": "NUMBER_LITERAL", |
| "value": "0", |
| "startPosition": "128" |
| }, |
| "falseExpression": { |
| "identifier": "count_", |
| "expression": { |
| "endPosition": "136", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "132" |
| }, |
| "endPosition": "143", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "132" |
| }, |
| "startPosition": "126" |
| }, |
| "endPosition": "143", |
| "kind": "RETURN", |
| "startPosition": "106" |
| } |
| ], |
| "startPosition": "96" |
| }, |
| "strict": "true", |
| "startPosition": "96", |
| "parameters": [] |
| }, |
| "static": "true", |
| "endPosition": "149", |
| "kind": "PROPERTY", |
| "setter": { |
| "endPosition": "181", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": "null", |
| "body": { |
| "endPosition": "209", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "expression": { |
| "endPosition": "209", |
| "kind": "IDENTIFIER", |
| "name": "val", |
| "startPosition": "206" |
| }, |
| "endPosition": "209", |
| "kind": "ASSIGNMENT", |
| "variable": { |
| "identifier": "count_", |
| "expression": { |
| "endPosition": "196", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "192" |
| }, |
| "endPosition": "203", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "192" |
| }, |
| "startPosition": "192" |
| }, |
| "endPosition": "209", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "192" |
| } |
| ], |
| "startPosition": "181" |
| }, |
| "strict": "true", |
| "startPosition": "181", |
| "parameters": [ |
| { |
| "endPosition": "179", |
| "kind": "IDENTIFIER", |
| "name": "val", |
| "startPosition": "176" |
| } |
| ] |
| }, |
| "value": "null", |
| "startPosition": "80", |
| "key": { |
| "endPosition": "93", |
| "kind": "IDENTIFIER", |
| "name": "numShapes", |
| "startPosition": "84" |
| } |
| } |
| ], |
| "endPosition": "12", |
| "kind": "CLASS", |
| "classHeritage": "null", |
| "name": { |
| "endPosition": "12", |
| "kind": "IDENTIFIER", |
| "name": "Shape", |
| "startPosition": "7" |
| }, |
| "constructor": { |
| "getter": "null", |
| "endPosition": "67", |
| "kind": "PROPERTY", |
| "setter": "null", |
| "value": { |
| "endPosition": "33", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": { |
| "endPosition": "30", |
| "kind": "IDENTIFIER", |
| "name": "constructor", |
| "startPosition": "19" |
| }, |
| "body": { |
| "endPosition": "61", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "expression": { |
| "identifier": "numShapes", |
| "expression": { |
| "endPosition": "48", |
| "kind": "IDENTIFIER", |
| "name": "Shape", |
| "startPosition": "43" |
| }, |
| "endPosition": "58", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "43" |
| }, |
| "endPosition": "60", |
| "kind": "POSTFIX_INCREMENT", |
| "startPosition": "43" |
| }, |
| "endPosition": "60", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "43" |
| } |
| ], |
| "startPosition": "33" |
| }, |
| "strict": "true", |
| "startPosition": "33", |
| "parameters": [] |
| }, |
| "startPosition": "19", |
| "key": { |
| "endPosition": "30", |
| "kind": "IDENTIFIER", |
| "name": "constructor", |
| "startPosition": "19" |
| } |
| }, |
| "startPosition": "1" |
| }, |
| { |
| "classElements": [ |
| { |
| "getter": "null", |
| "static": "true", |
| "endPosition": "419", |
| "kind": "PROPERTY", |
| "setter": "null", |
| "value": { |
| "endPosition": "388", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": { |
| "endPosition": "371", |
| "kind": "IDENTIFIER", |
| "name": "draw", |
| "startPosition": "367" |
| }, |
| "body": { |
| "endPosition": "389", |
| "kind": "BLOCK", |
| "statements": [], |
| "startPosition": "388" |
| }, |
| "strict": "true", |
| "startPosition": "388", |
| "parameters": [ |
| { |
| "endPosition": "378", |
| "kind": "IDENTIFIER", |
| "name": "circle", |
| "startPosition": "372" |
| }, |
| { |
| "endPosition": "386", |
| "kind": "IDENTIFIER", |
| "name": "canvas", |
| "startPosition": "380" |
| } |
| ] |
| }, |
| "startPosition": "367", |
| "key": { |
| "endPosition": "371", |
| "kind": "IDENTIFIER", |
| "name": "draw", |
| "startPosition": "367" |
| } |
| }, |
| { |
| "getter": { |
| "endPosition": "449", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": "null", |
| "body": { |
| "endPosition": "496", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "condition": { |
| "expression": { |
| "identifier": "count_", |
| "expression": { |
| "endPosition": "471", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "467" |
| }, |
| "endPosition": "478", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "467" |
| }, |
| "endPosition": "478", |
| "kind": "LOGICAL_COMPLEMENT", |
| "startPosition": "466" |
| }, |
| "endPosition": "496", |
| "kind": "CONDITIONAL_EXPRESSION", |
| "trueExpression": { |
| "endPosition": "482", |
| "kind": "NUMBER_LITERAL", |
| "value": "0", |
| "startPosition": "481" |
| }, |
| "falseExpression": { |
| "identifier": "count_", |
| "expression": { |
| "endPosition": "489", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "485" |
| }, |
| "endPosition": "496", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "485" |
| }, |
| "startPosition": "479" |
| }, |
| "endPosition": "496", |
| "kind": "RETURN", |
| "startPosition": "459" |
| } |
| ], |
| "startPosition": "449" |
| }, |
| "strict": "true", |
| "startPosition": "449", |
| "parameters": [] |
| }, |
| "static": "true", |
| "endPosition": "502", |
| "kind": "PROPERTY", |
| "setter": { |
| "endPosition": "535", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": "null", |
| "body": { |
| "endPosition": "563", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "expression": { |
| "endPosition": "563", |
| "kind": "IDENTIFIER", |
| "name": "val", |
| "startPosition": "560" |
| }, |
| "endPosition": "563", |
| "kind": "ASSIGNMENT", |
| "variable": { |
| "identifier": "count_", |
| "expression": { |
| "endPosition": "550", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "546" |
| }, |
| "endPosition": "557", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "546" |
| }, |
| "startPosition": "546" |
| }, |
| "endPosition": "563", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "546" |
| } |
| ], |
| "startPosition": "535" |
| }, |
| "strict": "true", |
| "startPosition": "535", |
| "parameters": [ |
| { |
| "endPosition": "533", |
| "kind": "IDENTIFIER", |
| "name": "val", |
| "startPosition": "530" |
| } |
| ] |
| }, |
| "value": "null", |
| "startPosition": "432", |
| "key": { |
| "endPosition": "446", |
| "kind": "IDENTIFIER", |
| "name": "numCircles", |
| "startPosition": "436" |
| } |
| }, |
| { |
| "getter": "null", |
| "endPosition": "639", |
| "kind": "PROPERTY", |
| "setter": "null", |
| "value": { |
| "endPosition": "582", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": { |
| "endPosition": "579", |
| "kind": "IDENTIFIER", |
| "name": "area", |
| "startPosition": "575" |
| }, |
| "body": { |
| "endPosition": "633", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "leftOperand": { |
| "endPosition": "623", |
| "kind": "FUNCTION_INVOCATION", |
| "functionSelect": { |
| "identifier": "pow", |
| "expression": { |
| "endPosition": "603", |
| "kind": "IDENTIFIER", |
| "name": "Math", |
| "startPosition": "599" |
| }, |
| "endPosition": "607", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "599" |
| }, |
| "arguments": [ |
| { |
| "identifier": "radius", |
| "expression": { |
| "endPosition": "612", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "608" |
| }, |
| "endPosition": "619", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "608" |
| }, |
| { |
| "endPosition": "622", |
| "kind": "NUMBER_LITERAL", |
| "value": "2", |
| "startPosition": "621" |
| } |
| ], |
| "startPosition": "599" |
| }, |
| "endPosition": "633", |
| "kind": "MULTIPLY", |
| "rightOperand": { |
| "identifier": "PI", |
| "expression": { |
| "endPosition": "630", |
| "kind": "IDENTIFIER", |
| "name": "Math", |
| "startPosition": "626" |
| }, |
| "endPosition": "633", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "626" |
| }, |
| "startPosition": "599" |
| }, |
| "endPosition": "633", |
| "kind": "RETURN", |
| "startPosition": "592" |
| } |
| ], |
| "startPosition": "582" |
| }, |
| "strict": "true", |
| "startPosition": "582", |
| "parameters": [] |
| }, |
| "startPosition": "575", |
| "key": { |
| "endPosition": "579", |
| "kind": "IDENTIFIER", |
| "name": "area", |
| "startPosition": "575" |
| } |
| }, |
| { |
| "getter": { |
| "endPosition": "658", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": "null", |
| "body": { |
| "endPosition": "687", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "identifier": "radius_", |
| "expression": { |
| "endPosition": "679", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "675" |
| }, |
| "endPosition": "687", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "675" |
| }, |
| "endPosition": "687", |
| "kind": "RETURN", |
| "startPosition": "668" |
| } |
| ], |
| "startPosition": "658" |
| }, |
| "strict": "true", |
| "startPosition": "658", |
| "parameters": [] |
| }, |
| "endPosition": "693", |
| "kind": "PROPERTY", |
| "setter": { |
| "endPosition": "718", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": "null", |
| "body": { |
| "endPosition": "852", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "condition": { |
| "expression": { |
| "endPosition": "757", |
| "kind": "FUNCTION_INVOCATION", |
| "functionSelect": { |
| "identifier": "isInteger", |
| "expression": { |
| "endPosition": "739", |
| "kind": "IDENTIFIER", |
| "name": "Number", |
| "startPosition": "733" |
| }, |
| "endPosition": "749", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "733" |
| }, |
| "arguments": [ |
| { |
| "endPosition": "756", |
| "kind": "IDENTIFIER", |
| "name": "radius", |
| "startPosition": "750" |
| } |
| ], |
| "startPosition": "733" |
| }, |
| "endPosition": "757", |
| "kind": "LOGICAL_COMPLEMENT", |
| "startPosition": "732" |
| }, |
| "elseStatement": "null", |
| "endPosition": "822", |
| "kind": "IF", |
| "startPosition": "728", |
| "thenStatement": { |
| "expression": { |
| "constructorExpression": { |
| "endPosition": "821", |
| "kind": "FUNCTION_INVOCATION", |
| "functionSelect": { |
| "endPosition": "790", |
| "kind": "IDENTIFIER", |
| "name": "TypeError", |
| "startPosition": "781" |
| }, |
| "arguments": [ |
| { |
| "endPosition": "819", |
| "kind": "STRING_LITERAL", |
| "value": "Circle radius is not an int", |
| "startPosition": "792" |
| } |
| ], |
| "startPosition": "781" |
| }, |
| "endPosition": "821", |
| "kind": "NEW", |
| "startPosition": "777" |
| }, |
| "endPosition": "822", |
| "kind": "THROW", |
| "startPosition": "771" |
| } |
| }, |
| { |
| "expression": { |
| "expression": { |
| "endPosition": "852", |
| "kind": "IDENTIFIER", |
| "name": "radius", |
| "startPosition": "846" |
| }, |
| "endPosition": "852", |
| "kind": "ASSIGNMENT", |
| "variable": { |
| "identifier": "radius_", |
| "expression": { |
| "endPosition": "835", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "831" |
| }, |
| "endPosition": "843", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "831" |
| }, |
| "startPosition": "831" |
| }, |
| "endPosition": "852", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "831" |
| } |
| ], |
| "startPosition": "718" |
| }, |
| "strict": "true", |
| "startPosition": "718", |
| "parameters": [ |
| { |
| "endPosition": "716", |
| "kind": "IDENTIFIER", |
| "name": "radius", |
| "startPosition": "710" |
| } |
| ] |
| }, |
| "value": "null", |
| "startPosition": "645", |
| "key": { |
| "endPosition": "655", |
| "kind": "IDENTIFIER", |
| "name": "radius", |
| "startPosition": "649" |
| } |
| } |
| ], |
| "endPosition": "231", |
| "kind": "CLASS", |
| "classHeritage": { |
| "endPosition": "245", |
| "kind": "IDENTIFIER", |
| "name": "Shape", |
| "startPosition": "240" |
| }, |
| "name": { |
| "endPosition": "231", |
| "kind": "IDENTIFIER", |
| "name": "Circle", |
| "startPosition": "225" |
| }, |
| "constructor": { |
| "getter": "null", |
| "endPosition": "354", |
| "kind": "PROPERTY", |
| "setter": "null", |
| "value": { |
| "endPosition": "272", |
| "kind": "FUNCTION_EXPRESSION", |
| "name": { |
| "endPosition": "263", |
| "kind": "IDENTIFIER", |
| "name": "constructor", |
| "startPosition": "252" |
| }, |
| "body": { |
| "endPosition": "348", |
| "kind": "BLOCK", |
| "statements": [ |
| { |
| "expression": { |
| "endPosition": "289", |
| "kind": "FUNCTION_INVOCATION", |
| "functionSelect": { |
| "super": "true", |
| "endPosition": "287", |
| "kind": "IDENTIFIER", |
| "name": "super", |
| "startPosition": "282" |
| }, |
| "arguments": [], |
| "startPosition": "282" |
| }, |
| "endPosition": "289", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "282" |
| }, |
| { |
| "expression": { |
| "expression": { |
| "endPosition": "320", |
| "kind": "IDENTIFIER", |
| "name": "radius", |
| "startPosition": "314" |
| }, |
| "endPosition": "320", |
| "kind": "ASSIGNMENT", |
| "variable": { |
| "identifier": "radius_", |
| "expression": { |
| "endPosition": "303", |
| "kind": "IDENTIFIER", |
| "this": "true", |
| "name": "this", |
| "startPosition": "299" |
| }, |
| "endPosition": "311", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "299" |
| }, |
| "startPosition": "299" |
| }, |
| "endPosition": "320", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "299" |
| }, |
| { |
| "expression": { |
| "expression": { |
| "identifier": "numCircles", |
| "expression": { |
| "endPosition": "335", |
| "kind": "IDENTIFIER", |
| "name": "Circle", |
| "startPosition": "329" |
| }, |
| "endPosition": "346", |
| "kind": "MEMBER_SELECT", |
| "startPosition": "329" |
| }, |
| "endPosition": "348", |
| "kind": "POSTFIX_INCREMENT", |
| "startPosition": "329" |
| }, |
| "endPosition": "348", |
| "kind": "EXPRESSION_STATEMENT", |
| "startPosition": "329" |
| } |
| ], |
| "startPosition": "272" |
| }, |
| "strict": "true", |
| "startPosition": "272", |
| "parameters": [ |
| { |
| "endPosition": "270", |
| "kind": "IDENTIFIER", |
| "name": "radius", |
| "startPosition": "264" |
| } |
| ] |
| }, |
| "startPosition": "252", |
| "key": { |
| "endPosition": "263", |
| "kind": "IDENTIFIER", |
| "name": "constructor", |
| "startPosition": "252" |
| } |
| }, |
| "startPosition": "219" |
| } |
| ] |