{ "type": "Script", "span": { "start": 0, "end": 150, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 0, "end": 19, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4, "end": 18, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4, "end": 5, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6, "end": 14, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 8, "end": 14, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 8, "end": 11, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 11, "end": 14, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 12, "end": 13, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 12, "end": 13, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } } }, "init": { "type": "NumericLiteral", "span": { "start": 17, "end": 18, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 20, "end": 38, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 24, "end": 37, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 24, "end": 25, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 26, "end": 34, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 28, "end": 34, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 28, "end": 31, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 31, "end": 34, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 32, "end": 33, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 32, "end": 33, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } } }, "init": { "type": "NumericLiteral", "span": { "start": 36, "end": 37, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 40, "end": 64, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 44, "end": 63, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 44, "end": 45, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 46, "end": 59, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 48, "end": 59, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 48, "end": 51, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 51, "end": 59, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 52, "end": 58, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 52, "end": 55, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 55, "end": 58, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 56, "end": 57, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 56, "end": 57, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ] } } } }, "init": { "type": "NumericLiteral", "span": { "start": 62, "end": 63, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 65, "end": 88, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 69, "end": 87, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 69, "end": 70, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 71, "end": 84, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 73, "end": 84, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 73, "end": 76, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 76, "end": 84, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 77, "end": 83, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 77, "end": 80, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 80, "end": 83, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 81, "end": 82, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 81, "end": 82, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ] } } } }, "init": { "type": "NumericLiteral", "span": { "start": 86, "end": 87, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 90, "end": 120, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 94, "end": 119, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 94, "end": 95, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 96, "end": 115, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 98, "end": 115, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 98, "end": 101, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 101, "end": 115, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 102, "end": 114, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 102, "end": 105, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 105, "end": 114, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 106, "end": 113, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 106, "end": 110, "ctxt": 0 }, "value": "Quux", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 110, "end": 113, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 111, "end": 112, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 111, "end": 112, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ] } } ] } } } }, "init": { "type": "NumericLiteral", "span": { "start": 118, "end": 119, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 121, "end": 150, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 125, "end": 149, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 125, "end": 126, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 127, "end": 146, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 129, "end": 146, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 129, "end": 132, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 132, "end": 146, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 133, "end": 145, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 133, "end": 136, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 136, "end": 145, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 137, "end": 144, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 137, "end": 141, "ctxt": 0 }, "value": "Quux", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 141, "end": 144, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 142, "end": 143, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 142, "end": 143, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ] } } ] } } } }, "init": { "type": "NumericLiteral", "span": { "start": 148, "end": 149, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] } ], "interpreter": null }