{ "type": "File", "start":0,"end":164,"loc":{"start":{"line":1,"column":0},"end":{"line":11,"column":1}}, "program": { "type": "Program", "start":0,"end":164,"loc":{"start":{"line":1,"column":0},"end":{"line":11,"column":1}}, "sourceType": "module", "interpreter": null, "body": [ { "type": "ClassDeclaration", "start":0,"end":164,"loc":{"start":{"line":1,"column":0},"end":{"line":11,"column":1}}, "id": { "type": "Identifier", "start":6,"end":9,"loc":{"start":{"line":1,"column":6},"end":{"line":1,"column":9},"identifierName":"Foo"}, "name": "Foo" }, "superClass": null, "body": { "type": "ClassBody", "start":10,"end":164,"loc":{"start":{"line":1,"column":10},"end":{"line":11,"column":1}}, "body": [ { "type": "ClassMethod", "start":14,"end":110,"loc":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}}, "static": false, "key": { "type": "Identifier", "start":14,"end":17,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":5},"identifierName":"foo"}, "name": "foo" }, "computed": false, "kind": "method", "id": null, "generator": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start":20,"end":110,"loc":{"start":{"line":2,"column":8},"end":{"line":6,"column":3}}, "body": [ { "type": "SwitchStatement", "start":26,"end":106,"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}}, "discriminant": { "type": "NumericLiteral", "start":34,"end":35,"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":13}}, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 }, "cases": [ { "type": "SwitchCase", "start":45,"end":100,"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":61}}, "consequent": [], "test": { "type": "BinaryExpression", "start":51,"end":98,"loc":{"start":{"line":4,"column":12},"end":{"line":4,"column":59}}, "left": { "type": "MemberExpression", "start":51,"end":71,"loc":{"start":{"line":4,"column":12},"end":{"line":4,"column":32}}, "object": { "type": "Identifier", "start":51,"end":61,"loc":{"start":{"line":4,"column":12},"end":{"line":4,"column":22},"identifierName":"MatrixType"}, "name": "MatrixType" }, "property": { "type": "Identifier", "start":62,"end":71,"loc":{"start":{"line":4,"column":23},"end":{"line":4,"column":32},"identifierName":"IsScaling"}, "name": "IsScaling" }, "computed": false }, "operator": "|", "right": { "type": "MemberExpression", "start":74,"end":98,"loc":{"start":{"line":4,"column":35},"end":{"line":4,"column":59}}, "object": { "type": "Identifier", "start":74,"end":84,"loc":{"start":{"line":4,"column":35},"end":{"line":4,"column":45},"identifierName":"MatrixType"}, "name": "MatrixType" }, "property": { "type": "Identifier", "start":85,"end":98,"loc":{"start":{"line":4,"column":46},"end":{"line":4,"column":59},"identifierName":"IsTranslation"}, "name": "IsTranslation" }, "computed": false }, "extra": { "parenthesized": true, "parenStart": 50 } } } ] } ], "directives": [] } }, { "type": "ClassMethod", "start":114,"end":162,"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":3}}, "static": false, "key": { "type": "Identifier", "start":114,"end":117,"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":5},"identifierName":"bar"}, "name": "bar" }, "computed": false, "kind": "method", "id": null, "generator": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start":120,"end":162,"loc":{"start":{"line":8,"column":8},"end":{"line":10,"column":3}}, "body": [ { "type": "SwitchStatement", "start":126,"end":158,"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":36}}, "discriminant": { "type": "BinaryExpression", "start":134,"end":154,"loc":{"start":{"line":9,"column":12},"end":{"line":9,"column":32}}, "left": { "type": "BinaryExpression", "start":135,"end":145,"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":23}}, "left": { "type": "Identifier", "start":135,"end":140,"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":18},"identifierName":"typeA"}, "name": "typeA" }, "operator": "<<", "right": { "type": "NumericLiteral", "start":144,"end":145,"loc":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}}, "extra": { "rawValue": 4, "raw": "4" }, "value": 4 }, "extra": { "parenthesized": true, "parenStart": 134 } }, "operator": "|", "right": { "type": "Identifier", "start":149,"end":154,"loc":{"start":{"line":9,"column":27},"end":{"line":9,"column":32},"identifierName":"typeB"}, "name": "typeB" } }, "cases": [] } ], "directives": [] } } ] } } ], "directives": [] } }