2188 lines
89 KiB
JSON
2188 lines
89 KiB
JSON
{
|
|
"type": "File",
|
|
"start":0,"end":1930,"loc":{"start":{"line":1,"column":0},"end":{"line":44,"column":36}},
|
|
"program": {
|
|
"type": "Program",
|
|
"start":0,"end":1930,"loc":{"start":{"line":1,"column":0},"end":{"line":44,"column":36}},
|
|
"sourceType": "module",
|
|
"interpreter": null,
|
|
"body": [
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":38,"end":55,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":17}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":38,"end":54,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":16}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":38,"end":39,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "Identifier",
|
|
"start":43,"end":44,"loc":{"start":{"line":2,"column":5},"end":{"line":2,"column":6},"identifierName":"b"},
|
|
"name": "b",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 42
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":48,"end":54,"loc":{"start":{"line":2,"column":10},"end":{"line":2,"column":16}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":48,"end":49,"loc":{"start":{"line":2,"column":10},"end":{"line":2,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":53,"end":54,"loc":{"start":{"line":2,"column":15},"end":{"line":2,"column":16},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Valid lhs value inside parentheses",
|
|
"start":0,"end":37,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":37}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : (c => d)",
|
|
"start":56,"end":75,"loc":{"start":{"line":2,"column":18},"end":{"line":2,"column":37}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":76,"end":97,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":21}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":76,"end":96,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":20}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":76,"end":77,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":80,"end":92,"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":16}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":84,"end":87,"loc":{"start":{"line":3,"column":8},"end":{"line":3,"column":11}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":86,"end":87,"loc":{"start":{"line":3,"column":10},"end":{"line":3,"column":11}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":86,"end":87,"loc":{"start":{"line":3,"column":10},"end":{"line":3,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":81,"end":82,"loc":{"start":{"line":3,"column":5},"end":{"line":3,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":91,"end":92,"loc":{"start":{"line":3,"column":15},"end":{"line":3,"column":16},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":95,"end":96,"loc":{"start":{"line":3,"column":19},"end":{"line":3,"column":20},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : (c => d)",
|
|
"start":56,"end":75,"loc":{"start":{"line":2,"column":18},"end":{"line":2,"column":37}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => d) : e",
|
|
"start":98,"end":122,"loc":{"start":{"line":3,"column":22},"end":{"line":3,"column":46}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":123,"end":146,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":23}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":123,"end":145,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":22}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":123,"end":124,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "Identifier",
|
|
"start":128,"end":129,"loc":{"start":{"line":4,"column":5},"end":{"line":4,"column":6},"identifierName":"b"},
|
|
"name": "b",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 127
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":133,"end":145,"loc":{"start":{"line":4,"column":10},"end":{"line":4,"column":22}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":137,"end":140,"loc":{"start":{"line":4,"column":14},"end":{"line":4,"column":17}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":139,"end":140,"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":139,"end":140,"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":17},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":134,"end":135,"loc":{"start":{"line":4,"column":11},"end":{"line":4,"column":12},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":144,"end":145,"loc":{"start":{"line":4,"column":21},"end":{"line":4,"column":22},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => d) : e",
|
|
"start":98,"end":122,"loc":{"start":{"line":3,"column":22},"end":{"line":3,"column":46}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : ((c): d => e)",
|
|
"start":147,"end":171,"loc":{"start":{"line":4,"column":24},"end":{"line":4,"column":48}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Nested arrow function inside parentheses",
|
|
"start":173,"end":216,"loc":{"start":{"line":6,"column":0},"end":{"line":6,"column":43}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":217,"end":245,"loc":{"start":{"line":7,"column":0},"end":{"line":7,"column":28}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":217,"end":244,"loc":{"start":{"line":7,"column":0},"end":{"line":7,"column":27}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":217,"end":218,"loc":{"start":{"line":7,"column":0},"end":{"line":7,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "AssignmentExpression",
|
|
"start":222,"end":234,"loc":{"start":{"line":7,"column":5},"end":{"line":7,"column":17}},
|
|
"operator": "=",
|
|
"left": {
|
|
"type": "Identifier",
|
|
"start":222,"end":223,"loc":{"start":{"line":7,"column":5},"end":{"line":7,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"right": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":226,"end":234,"loc":{"start":{"line":7,"column":9},"end":{"line":7,"column":17}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":227,"end":228,"loc":{"start":{"line":7,"column":10},"end":{"line":7,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":233,"end":234,"loc":{"start":{"line":7,"column":16},"end":{"line":7,"column":17},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 221
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":238,"end":244,"loc":{"start":{"line":7,"column":21},"end":{"line":7,"column":27}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":238,"end":239,"loc":{"start":{"line":7,"column":21},"end":{"line":7,"column":22},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":243,"end":244,"loc":{"start":{"line":7,"column":26},"end":{"line":7,"column":27},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : ((c): d => e)",
|
|
"start":147,"end":171,"loc":{"start":{"line":4,"column":24},"end":{"line":4,"column":48}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Nested arrow function inside parentheses",
|
|
"start":173,"end":216,"loc":{"start":{"line":6,"column":0},"end":{"line":6,"column":43}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b = (c) => d) : (e => f)",
|
|
"start":246,"end":278,"loc":{"start":{"line":7,"column":29},"end":{"line":7,"column":61}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":279,"end":311,"loc":{"start":{"line":8,"column":0},"end":{"line":8,"column":32}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":279,"end":310,"loc":{"start":{"line":8,"column":0},"end":{"line":8,"column":31}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":279,"end":280,"loc":{"start":{"line":8,"column":0},"end":{"line":8,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":283,"end":306,"loc":{"start":{"line":8,"column":4},"end":{"line":8,"column":27}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":298,"end":301,"loc":{"start":{"line":8,"column":19},"end":{"line":8,"column":22}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":300,"end":301,"loc":{"start":{"line":8,"column":21},"end":{"line":8,"column":22}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":300,"end":301,"loc":{"start":{"line":8,"column":21},"end":{"line":8,"column":22},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "AssignmentPattern",
|
|
"start":284,"end":296,"loc":{"start":{"line":8,"column":5},"end":{"line":8,"column":17}},
|
|
"left": {
|
|
"type": "Identifier",
|
|
"start":284,"end":285,"loc":{"start":{"line":8,"column":5},"end":{"line":8,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"right": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":288,"end":296,"loc":{"start":{"line":8,"column":9},"end":{"line":8,"column":17}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":289,"end":290,"loc":{"start":{"line":8,"column":10},"end":{"line":8,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":295,"end":296,"loc":{"start":{"line":8,"column":16},"end":{"line":8,"column":17},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":305,"end":306,"loc":{"start":{"line":8,"column":26},"end":{"line":8,"column":27},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":309,"end":310,"loc":{"start":{"line":8,"column":30},"end":{"line":8,"column":31},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b = (c) => d) : (e => f)",
|
|
"start":246,"end":278,"loc":{"start":{"line":7,"column":29},"end":{"line":7,"column":61}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b = (c) => d): e => f) : g",
|
|
"start":312,"end":347,"loc":{"start":{"line":8,"column":33},"end":{"line":8,"column":68}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Nested conditional expressions",
|
|
"start":349,"end":382,"loc":{"start":{"line":10,"column":0},"end":{"line":10,"column":33}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":387,"end":418,"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":35}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":387,"end":417,"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":34}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":387,"end":388,"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":5},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"consequent": {
|
|
"type": "ConditionalExpression",
|
|
"start":391,"end":413,"loc":{"start":{"line":11,"column":8},"end":{"line":11,"column":30}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":391,"end":392,"loc":{"start":{"line":11,"column":8},"end":{"line":11,"column":9},"identifierName":"c"},
|
|
"name": "c"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":395,"end":409,"loc":{"start":{"line":11,"column":12},"end":{"line":11,"column":26}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":399,"end":402,"loc":{"start":{"line":11,"column":16},"end":{"line":11,"column":19}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":401,"end":402,"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":19}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":401,"end":402,"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":19},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":396,"end":397,"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":14},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":407,"end":408,"loc":{"start":{"line":11,"column":24},"end":{"line":11,"column":25},"identifierName":"f"},
|
|
"name": "f",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 406
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":412,"end":413,"loc":{"start":{"line":11,"column":29},"end":{"line":11,"column":30},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":416,"end":417,"loc":{"start":{"line":11,"column":33},"end":{"line":11,"column":34},"identifierName":"h"},
|
|
"name": "h"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b = (c) => d): e => f) : g",
|
|
"start":312,"end":347,"loc":{"start":{"line":8,"column":33},"end":{"line":8,"column":68}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Nested conditional expressions",
|
|
"start":349,"end":382,"loc":{"start":{"line":10,"column":0},"end":{"line":10,"column":33}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " b ? (c ? ((d): e => f) : g) : h",
|
|
"start":419,"end":453,"loc":{"start":{"line":11,"column":36},"end":{"line":11,"column":70}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":454,"end":489,"loc":{"start":{"line":12,"column":0},"end":{"line":12,"column":35}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":454,"end":488,"loc":{"start":{"line":12,"column":0},"end":{"line":12,"column":34}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":454,"end":455,"loc":{"start":{"line":12,"column":0},"end":{"line":12,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ConditionalExpression",
|
|
"start":458,"end":484,"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":30}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":458,"end":459,"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":5},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"consequent": {
|
|
"type": "ConditionalExpression",
|
|
"start":462,"end":480,"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":26}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":462,"end":463,"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":9},"identifierName":"c"},
|
|
"name": "c"
|
|
},
|
|
"consequent": {
|
|
"type": "Identifier",
|
|
"start":467,"end":468,"loc":{"start":{"line":12,"column":13},"end":{"line":12,"column":14},"identifierName":"d"},
|
|
"name": "d",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 466
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":472,"end":480,"loc":{"start":{"line":12,"column":18},"end":{"line":12,"column":26}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":472,"end":473,"loc":{"start":{"line":12,"column":18},"end":{"line":12,"column":19},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":478,"end":479,"loc":{"start":{"line":12,"column":24},"end":{"line":12,"column":25},"identifierName":"f"},
|
|
"name": "f",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 477
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":483,"end":484,"loc":{"start":{"line":12,"column":29},"end":{"line":12,"column":30},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":487,"end":488,"loc":{"start":{"line":12,"column":33},"end":{"line":12,"column":34},"identifierName":"h"},
|
|
"name": "h"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " b ? (c ? ((d): e => f) : g) : h",
|
|
"start":419,"end":453,"loc":{"start":{"line":11,"column":36},"end":{"line":11,"column":70}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c ? d : (e => f)) : g) : h",
|
|
"start":490,"end":529,"loc":{"start":{"line":12,"column":36},"end":{"line":12,"column":75}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":531,"end":564,"loc":{"start":{"line":14,"column":0},"end":{"line":14,"column":33}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":531,"end":563,"loc":{"start":{"line":14,"column":0},"end":{"line":14,"column":32}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":531,"end":532,"loc":{"start":{"line":14,"column":0},"end":{"line":14,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ConditionalExpression",
|
|
"start":535,"end":559,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":28}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":535,"end":536,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":5},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"consequent": {
|
|
"type": "Identifier",
|
|
"start":540,"end":541,"loc":{"start":{"line":14,"column":9},"end":{"line":14,"column":10},"identifierName":"c"},
|
|
"name": "c",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 539
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":545,"end":559,"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":28}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":549,"end":554,"loc":{"start":{"line":14,"column":18},"end":{"line":14,"column":23}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":552,"end":553,"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":22}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":552,"end":553,"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":22},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":546,"end":547,"loc":{"start":{"line":14,"column":15},"end":{"line":14,"column":16},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":558,"end":559,"loc":{"start":{"line":14,"column":27},"end":{"line":14,"column":28},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":562,"end":563,"loc":{"start":{"line":14,"column":31},"end":{"line":14,"column":32},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c ? d : (e => f)) : g) : h",
|
|
"start":490,"end":529,"loc":{"start":{"line":12,"column":36},"end":{"line":12,"column":75}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? c : ((d): e => f)) : g",
|
|
"start":565,"end":599,"loc":{"start":{"line":14,"column":34},"end":{"line":14,"column":68}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Multiple arrow functions",
|
|
"start":601,"end":628,"loc":{"start":{"line":16,"column":0},"end":{"line":16,"column":27}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":629,"end":661,"loc":{"start":{"line":17,"column":0},"end":{"line":17,"column":32}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":629,"end":660,"loc":{"start":{"line":17,"column":0},"end":{"line":17,"column":31}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":629,"end":630,"loc":{"start":{"line":17,"column":0},"end":{"line":17,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":633,"end":645,"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":16}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":637,"end":640,"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":11}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":639,"end":640,"loc":{"start":{"line":17,"column":10},"end":{"line":17,"column":11}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":639,"end":640,"loc":{"start":{"line":17,"column":10},"end":{"line":17,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":634,"end":635,"loc":{"start":{"line":17,"column":5},"end":{"line":17,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":644,"end":645,"loc":{"start":{"line":17,"column":15},"end":{"line":17,"column":16},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":648,"end":660,"loc":{"start":{"line":17,"column":19},"end":{"line":17,"column":31}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":652,"end":655,"loc":{"start":{"line":17,"column":23},"end":{"line":17,"column":26}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":654,"end":655,"loc":{"start":{"line":17,"column":25},"end":{"line":17,"column":26}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":654,"end":655,"loc":{"start":{"line":17,"column":25},"end":{"line":17,"column":26},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":649,"end":650,"loc":{"start":{"line":17,"column":20},"end":{"line":17,"column":21},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":659,"end":660,"loc":{"start":{"line":17,"column":30},"end":{"line":17,"column":31},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? c : ((d): e => f)) : g",
|
|
"start":565,"end":599,"loc":{"start":{"line":14,"column":34},"end":{"line":14,"column":68}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Multiple arrow functions",
|
|
"start":601,"end":628,"loc":{"start":{"line":16,"column":0},"end":{"line":16,"column":27}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => d) : ((e): f => g)",
|
|
"start":662,"end":698,"loc":{"start":{"line":17,"column":33},"end":{"line":17,"column":69}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Multiple nested arrow functions (<T> is needed to avoid ambiguities)",
|
|
"start":700,"end":771,"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":71}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":772,"end":804,"loc":{"start":{"line":20,"column":0},"end":{"line":20,"column":32}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":772,"end":803,"loc":{"start":{"line":20,"column":0},"end":{"line":20,"column":31}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":772,"end":773,"loc":{"start":{"line":20,"column":0},"end":{"line":20,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":776,"end":799,"loc":{"start":{"line":20,"column":4},"end":{"line":20,"column":27}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":780,"end":783,"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":11}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":782,"end":783,"loc":{"start":{"line":20,"column":10},"end":{"line":20,"column":11}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":782,"end":783,"loc":{"start":{"line":20,"column":10},"end":{"line":20,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":777,"end":778,"loc":{"start":{"line":20,"column":5},"end":{"line":20,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":787,"end":799,"loc":{"start":{"line":20,"column":15},"end":{"line":20,"column":27}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":791,"end":794,"loc":{"start":{"line":20,"column":19},"end":{"line":20,"column":22}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":793,"end":794,"loc":{"start":{"line":20,"column":21},"end":{"line":20,"column":22}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":793,"end":794,"loc":{"start":{"line":20,"column":21},"end":{"line":20,"column":22},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":788,"end":789,"loc":{"start":{"line":20,"column":16},"end":{"line":20,"column":17},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":798,"end":799,"loc":{"start":{"line":20,"column":26},"end":{"line":20,"column":27},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":802,"end":803,"loc":{"start":{"line":20,"column":30},"end":{"line":20,"column":31},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => d) : ((e): f => g)",
|
|
"start":662,"end":698,"loc":{"start":{"line":17,"column":33},"end":{"line":17,"column":69}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Multiple nested arrow functions (<T> is needed to avoid ambiguities)",
|
|
"start":700,"end":771,"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":71}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => ((d): e => f)) : g",
|
|
"start":805,"end":841,"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":69}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":842,"end":873,"loc":{"start":{"line":21,"column":0},"end":{"line":21,"column":31}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":842,"end":872,"loc":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":842,"end":843,"loc":{"start":{"line":21,"column":0},"end":{"line":21,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "Identifier",
|
|
"start":847,"end":848,"loc":{"start":{"line":21,"column":5},"end":{"line":21,"column":6},"identifierName":"b"},
|
|
"name": "b",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 846
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":852,"end":872,"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":30}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":852,"end":853,"loc":{"start":{"line":21,"column":10},"end":{"line":21,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":857,"end":872,"loc":{"start":{"line":21,"column":15},"end":{"line":21,"column":30}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":864,"end":867,"loc":{"start":{"line":21,"column":22},"end":{"line":21,"column":25}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":866,"end":867,"loc":{"start":{"line":21,"column":24},"end":{"line":21,"column":25}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":866,"end":867,"loc":{"start":{"line":21,"column":24},"end":{"line":21,"column":25},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":861,"end":862,"loc":{"start":{"line":21,"column":19},"end":{"line":21,"column":20},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":871,"end":872,"loc":{"start":{"line":21,"column":29},"end":{"line":21,"column":30},"identifierName":"f"},
|
|
"name": "f"
|
|
},
|
|
"typeParameters": {
|
|
"type": "TypeParameterDeclaration",
|
|
"start":857,"end":860,"loc":{"start":{"line":21,"column":15},"end":{"line":21,"column":18}},
|
|
"params": [
|
|
{
|
|
"type": "TypeParameter",
|
|
"start":858,"end":859,"loc":{"start":{"line":21,"column":16},"end":{"line":21,"column":17}},
|
|
"name": "T",
|
|
"variance": null
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => ((d): e => f)) : g",
|
|
"start":805,"end":841,"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":69}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : (c => (<T>(d): e => f))",
|
|
"start":874,"end":908,"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":66}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":909,"end":940,"loc":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":909,"end":939,"loc":{"start":{"line":22,"column":0},"end":{"line":22,"column":30}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":909,"end":910,"loc":{"start":{"line":22,"column":0},"end":{"line":22,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":913,"end":930,"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":21}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":920,"end":923,"loc":{"start":{"line":22,"column":11},"end":{"line":22,"column":14}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":922,"end":923,"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":14}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":922,"end":923,"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":14},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":917,"end":918,"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":9},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":928,"end":929,"loc":{"start":{"line":22,"column":19},"end":{"line":22,"column":20},"identifierName":"d"},
|
|
"name": "d",
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 927
|
|
}
|
|
},
|
|
"typeParameters": {
|
|
"type": "TypeParameterDeclaration",
|
|
"start":913,"end":916,"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":7}},
|
|
"params": [
|
|
{
|
|
"type": "TypeParameter",
|
|
"start":914,"end":915,"loc":{"start":{"line":22,"column":5},"end":{"line":22,"column":6}},
|
|
"name": "T",
|
|
"variance": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":933,"end":939,"loc":{"start":{"line":22,"column":24},"end":{"line":22,"column":30}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":933,"end":934,"loc":{"start":{"line":22,"column":24},"end":{"line":22,"column":25},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":938,"end":939,"loc":{"start":{"line":22,"column":29},"end":{"line":22,"column":30},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : (c => (<T>(d): e => f))",
|
|
"start":874,"end":908,"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":66}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (<T>(b): c => d) : (e => f)",
|
|
"start":941,"end":975,"loc":{"start":{"line":22,"column":32},"end":{"line":22,"column":66}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Invalid lhs value inside parentheses",
|
|
"start":977,"end":1016,"loc":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1017,"end":1039,"loc":{"start":{"line":25,"column":0},"end":{"line":25,"column":22}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1017,"end":1038,"loc":{"start":{"line":25,"column":0},"end":{"line":25,"column":21}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1017,"end":1018,"loc":{"start":{"line":25,"column":0},"end":{"line":25,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1022,"end":1028,"loc":{"start":{"line":25,"column":5},"end":{"line":25,"column":11}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1022,"end":1023,"loc":{"start":{"line":25,"column":5},"end":{"line":25,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1027,"end":1028,"loc":{"start":{"line":25,"column":10},"end":{"line":25,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1021
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1032,"end":1038,"loc":{"start":{"line":25,"column":15},"end":{"line":25,"column":21}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1032,"end":1033,"loc":{"start":{"line":25,"column":15},"end":{"line":25,"column":16},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1037,"end":1038,"loc":{"start":{"line":25,"column":20},"end":{"line":25,"column":21},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (<T>(b): c => d) : (e => f)",
|
|
"start":941,"end":975,"loc":{"start":{"line":22,"column":32},"end":{"line":22,"column":66}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Invalid lhs value inside parentheses",
|
|
"start":977,"end":1016,"loc":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b => c) : (d => e)",
|
|
"start":1040,"end":1066,"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":49}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1067,"end":1097,"loc":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1067,"end":1096,"loc":{"start":{"line":26,"column":0},"end":{"line":26,"column":29}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1067,"end":1068,"loc":{"start":{"line":26,"column":0},"end":{"line":26,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ConditionalExpression",
|
|
"start":1071,"end":1092,"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":25}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1071,"end":1072,"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":5},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1076,"end":1082,"loc":{"start":{"line":26,"column":9},"end":{"line":26,"column":15}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1076,"end":1077,"loc":{"start":{"line":26,"column":9},"end":{"line":26,"column":10},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1081,"end":1082,"loc":{"start":{"line":26,"column":14},"end":{"line":26,"column":15},"identifierName":"d"},
|
|
"name": "d"
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1075
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1086,"end":1092,"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":25}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1086,"end":1087,"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":20},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1091,"end":1092,"loc":{"start":{"line":26,"column":24},"end":{"line":26,"column":25},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":1095,"end":1096,"loc":{"start":{"line":26,"column":28},"end":{"line":26,"column":29},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b => c) : (d => e)",
|
|
"start":1040,"end":1066,"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":49}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c => d) : (e => f)) : g",
|
|
"start":1098,"end":1134,"loc":{"start":{"line":26,"column":31},"end":{"line":26,"column":67}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Invalid lhs value inside parentheses inside arrow function",
|
|
"start":1136,"end":1197,"loc":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1198,"end":1231,"loc":{"start":{"line":29,"column":0},"end":{"line":29,"column":33}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1198,"end":1230,"loc":{"start":{"line":29,"column":0},"end":{"line":29,"column":32}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1198,"end":1199,"loc":{"start":{"line":29,"column":0},"end":{"line":29,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1202,"end":1221,"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":23}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":1206,"end":1209,"loc":{"start":{"line":29,"column":8},"end":{"line":29,"column":11}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":1208,"end":1209,"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":11}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":1208,"end":1209,"loc":{"start":{"line":29,"column":10},"end":{"line":29,"column":11},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1203,"end":1204,"loc":{"start":{"line":29,"column":5},"end":{"line":29,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1214,"end":1220,"loc":{"start":{"line":29,"column":16},"end":{"line":29,"column":22}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1214,"end":1215,"loc":{"start":{"line":29,"column":16},"end":{"line":29,"column":17},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1219,"end":1220,"loc":{"start":{"line":29,"column":21},"end":{"line":29,"column":22},"identifierName":"e"},
|
|
"name": "e"
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1213
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1224,"end":1230,"loc":{"start":{"line":29,"column":26},"end":{"line":29,"column":32}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1224,"end":1225,"loc":{"start":{"line":29,"column":26},"end":{"line":29,"column":27},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1229,"end":1230,"loc":{"start":{"line":29,"column":31},"end":{"line":29,"column":32},"identifierName":"g"},
|
|
"name": "g"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c => d) : (e => f)) : g",
|
|
"start":1098,"end":1134,"loc":{"start":{"line":26,"column":31},"end":{"line":26,"column":67}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Invalid lhs value inside parentheses inside arrow function",
|
|
"start":1136,"end":1197,"loc":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => (d => e)) : (f => g)",
|
|
"start":1232,"end":1270,"loc":{"start":{"line":29,"column":34},"end":{"line":29,"column":72}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1271,"end":1313,"loc":{"start":{"line":30,"column":0},"end":{"line":30,"column":42}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1271,"end":1312,"loc":{"start":{"line":30,"column":0},"end":{"line":30,"column":41}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1271,"end":1272,"loc":{"start":{"line":30,"column":0},"end":{"line":30,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ConditionalExpression",
|
|
"start":1275,"end":1303,"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":32}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1275,"end":1276,"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":5},"identifierName":"b"},
|
|
"name": "b"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1280,"end":1286,"loc":{"start":{"line":30,"column":9},"end":{"line":30,"column":15}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1280,"end":1281,"loc":{"start":{"line":30,"column":9},"end":{"line":30,"column":10},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1285,"end":1286,"loc":{"start":{"line":30,"column":14},"end":{"line":30,"column":15},"identifierName":"d"},
|
|
"name": "d"
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1279
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1290,"end":1303,"loc":{"start":{"line":30,"column":19},"end":{"line":30,"column":32}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1290,"end":1291,"loc":{"start":{"line":30,"column":19},"end":{"line":30,"column":20},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1296,"end":1302,"loc":{"start":{"line":30,"column":25},"end":{"line":30,"column":31}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1296,"end":1297,"loc":{"start":{"line":30,"column":25},"end":{"line":30,"column":26},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1301,"end":1302,"loc":{"start":{"line":30,"column":30},"end":{"line":30,"column":31},"identifierName":"g"},
|
|
"name": "g"
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1295
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1306,"end":1312,"loc":{"start":{"line":30,"column":35},"end":{"line":30,"column":41}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1306,"end":1307,"loc":{"start":{"line":30,"column":35},"end":{"line":30,"column":36},"identifierName":"h"},
|
|
"name": "h"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1311,"end":1312,"loc":{"start":{"line":30,"column":40},"end":{"line":30,"column":41},"identifierName":"i"},
|
|
"name": "i"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => (d => e)) : (f => g)",
|
|
"start":1232,"end":1270,"loc":{"start":{"line":29,"column":34},"end":{"line":29,"column":72}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c => d) : (e => (f => g))) : (h => i)",
|
|
"start":1314,"end":1364,"loc":{"start":{"line":30,"column":43},"end":{"line":30,"column":93}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Function as type annotation",
|
|
"start":1366,"end":1396,"loc":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1397,"end":1425,"loc":{"start":{"line":33,"column":0},"end":{"line":33,"column":28}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1397,"end":1424,"loc":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1397,"end":1398,"loc":{"start":{"line":33,"column":0},"end":{"line":33,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1401,"end":1420,"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":23}},
|
|
"predicate": null,
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":1405,"end":1415,"loc":{"start":{"line":33,"column":8},"end":{"line":33,"column":18}},
|
|
"typeAnnotation": {
|
|
"type": "FunctionTypeAnnotation",
|
|
"start":1408,"end":1414,"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":17}},
|
|
"params": [
|
|
{
|
|
"type": "FunctionTypeParam",
|
|
"start":1408,"end":1412,"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":15}},
|
|
"name": null,
|
|
"optional": false,
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":1408,"end":1409,"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":12}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":1408,"end":1409,"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":12},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"rest": null,
|
|
"returnType": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":1413,"end":1414,"loc":{"start":{"line":33,"column":16},"end":{"line":33,"column":17}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":1413,"end":1414,"loc":{"start":{"line":33,"column":16},"end":{"line":33,"column":17},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
},
|
|
"typeParameters": null
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1402,"end":1403,"loc":{"start":{"line":33,"column":5},"end":{"line":33,"column":6},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1419,"end":1420,"loc":{"start":{"line":33,"column":22},"end":{"line":33,"column":23},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":1423,"end":1424,"loc":{"start":{"line":33,"column":26},"end":{"line":33,"column":27},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c => d) : (e => (f => g))) : (h => i)",
|
|
"start":1314,"end":1364,"loc":{"start":{"line":30,"column":43},"end":{"line":30,"column":93}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Function as type annotation",
|
|
"start":1366,"end":1396,"loc":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): (c => d) => e) : f",
|
|
"start":1426,"end":1457,"loc":{"start":{"line":33,"column":29},"end":{"line":33,"column":60}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Async functions or calls",
|
|
"start":1459,"end":1486,"loc":{"start":{"line":35,"column":0},"end":{"line":35,"column":27}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1487,"end":1510,"loc":{"start":{"line":36,"column":0},"end":{"line":36,"column":23}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1487,"end":1509,"loc":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1487,"end":1488,"loc":{"start":{"line":36,"column":0},"end":{"line":36,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "CallExpression",
|
|
"start":1491,"end":1500,"loc":{"start":{"line":36,"column":4},"end":{"line":36,"column":13}},
|
|
"callee": {
|
|
"type": "Identifier",
|
|
"start":1491,"end":1496,"loc":{"start":{"line":36,"column":4},"end":{"line":36,"column":9},"identifierName":"async"},
|
|
"name": "async"
|
|
},
|
|
"arguments": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1498,"end":1499,"loc":{"start":{"line":36,"column":11},"end":{"line":36,"column":12},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
]
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1503,"end":1509,"loc":{"start":{"line":36,"column":16},"end":{"line":36,"column":22}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1503,"end":1504,"loc":{"start":{"line":36,"column":16},"end":{"line":36,"column":17},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1508,"end":1509,"loc":{"start":{"line":36,"column":21},"end":{"line":36,"column":22},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): (c => d) => e) : f",
|
|
"start":1426,"end":1457,"loc":{"start":{"line":33,"column":29},"end":{"line":33,"column":60}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Async functions or calls",
|
|
"start":1459,"end":1486,"loc":{"start":{"line":35,"column":0},"end":{"line":35,"column":27}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async(b)) : (c => d)",
|
|
"start":1511,"end":1539,"loc":{"start":{"line":36,"column":24},"end":{"line":36,"column":52}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1540,"end":1567,"loc":{"start":{"line":37,"column":0},"end":{"line":37,"column":27}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1540,"end":1566,"loc":{"start":{"line":37,"column":0},"end":{"line":37,"column":26}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1540,"end":1541,"loc":{"start":{"line":37,"column":0},"end":{"line":37,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1544,"end":1562,"loc":{"start":{"line":37,"column":4},"end":{"line":37,"column":22}},
|
|
"returnType": {
|
|
"type": "TypeAnnotation",
|
|
"start":1554,"end":1557,"loc":{"start":{"line":37,"column":14},"end":{"line":37,"column":17}},
|
|
"typeAnnotation": {
|
|
"type": "GenericTypeAnnotation",
|
|
"start":1556,"end":1557,"loc":{"start":{"line":37,"column":16},"end":{"line":37,"column":17}},
|
|
"typeParameters": null,
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":1556,"end":1557,"loc":{"start":{"line":37,"column":16},"end":{"line":37,"column":17},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": true,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1551,"end":1552,"loc":{"start":{"line":37,"column":11},"end":{"line":37,"column":12},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1561,"end":1562,"loc":{"start":{"line":37,"column":21},"end":{"line":37,"column":22},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "Identifier",
|
|
"start":1565,"end":1566,"loc":{"start":{"line":37,"column":25},"end":{"line":37,"column":26},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async(b)) : (c => d)",
|
|
"start":1511,"end":1539,"loc":{"start":{"line":36,"column":24},"end":{"line":36,"column":52}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async (b): c => d) : e",
|
|
"start":1568,"end":1598,"loc":{"start":{"line":37,"column":28},"end":{"line":37,"column":58}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1599,"end":1627,"loc":{"start":{"line":38,"column":0},"end":{"line":38,"column":28}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1599,"end":1626,"loc":{"start":{"line":38,"column":0},"end":{"line":38,"column":27}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1599,"end":1600,"loc":{"start":{"line":38,"column":0},"end":{"line":38,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "CallExpression",
|
|
"start":1603,"end":1617,"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":18}},
|
|
"callee": {
|
|
"type": "Identifier",
|
|
"start":1603,"end":1608,"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":9},"identifierName":"async"},
|
|
"name": "async"
|
|
},
|
|
"arguments": [
|
|
{
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1610,"end":1616,"loc":{"start":{"line":38,"column":11},"end":{"line":38,"column":17}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1610,"end":1611,"loc":{"start":{"line":38,"column":11},"end":{"line":38,"column":12},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1615,"end":1616,"loc":{"start":{"line":38,"column":16},"end":{"line":38,"column":17},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1620,"end":1626,"loc":{"start":{"line":38,"column":21},"end":{"line":38,"column":27}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1620,"end":1621,"loc":{"start":{"line":38,"column":21},"end":{"line":38,"column":22},"identifierName":"d"},
|
|
"name": "d"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1625,"end":1626,"loc":{"start":{"line":38,"column":26},"end":{"line":38,"column":27},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async (b): c => d) : e",
|
|
"start":1568,"end":1598,"loc":{"start":{"line":37,"column":28},"end":{"line":37,"column":58}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async(b => c)) : (d => e)",
|
|
"start":1628,"end":1661,"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":62}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ExpressionStatement",
|
|
"start":1662,"end":1697,"loc":{"start":{"line":39,"column":0},"end":{"line":39,"column":35}},
|
|
"expression": {
|
|
"type": "ConditionalExpression",
|
|
"start":1662,"end":1696,"loc":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},
|
|
"test": {
|
|
"type": "Identifier",
|
|
"start":1662,"end":1663,"loc":{"start":{"line":39,"column":0},"end":{"line":39,"column":1},"identifierName":"a"},
|
|
"name": "a"
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1666,"end":1687,"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":25}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": true,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1673,"end":1674,"loc":{"start":{"line":39,"column":11},"end":{"line":39,"column":12},"identifierName":"b"},
|
|
"name": "b"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1680,"end":1686,"loc":{"start":{"line":39,"column":18},"end":{"line":39,"column":24}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1680,"end":1681,"loc":{"start":{"line":39,"column":18},"end":{"line":39,"column":19},"identifierName":"c"},
|
|
"name": "c"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1685,"end":1686,"loc":{"start":{"line":39,"column":23},"end":{"line":39,"column":24},"identifierName":"d"},
|
|
"name": "d"
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1679
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1690,"end":1696,"loc":{"start":{"line":39,"column":28},"end":{"line":39,"column":34}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1690,"end":1691,"loc":{"start":{"line":39,"column":28},"end":{"line":39,"column":29},"identifierName":"e"},
|
|
"name": "e"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "Identifier",
|
|
"start":1695,"end":1696,"loc":{"start":{"line":39,"column":33},"end":{"line":39,"column":34},"identifierName":"f"},
|
|
"name": "f"
|
|
}
|
|
}
|
|
},
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async(b => c)) : (d => e)",
|
|
"start":1628,"end":1661,"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":62}}
|
|
}
|
|
],
|
|
"trailingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async (b) => c => d) : (e => f)",
|
|
"start":1698,"end":1737,"loc":{"start":{"line":39,"column":36},"end":{"line":39,"column":75}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " https://github.com/prettier/prettier/issues/2194",
|
|
"start":1739,"end":1790,"loc":{"start":{"line":41,"column":0},"end":{"line":41,"column":51}}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "VariableDeclaration",
|
|
"start":1791,"end":1930,"loc":{"start":{"line":42,"column":0},"end":{"line":44,"column":36}},
|
|
"declarations": [
|
|
{
|
|
"type": "VariableDeclarator",
|
|
"start":1795,"end":1929,"loc":{"start":{"line":42,"column":4},"end":{"line":44,"column":35}},
|
|
"id": {
|
|
"type": "Identifier",
|
|
"start":1795,"end":1803,"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":12},"identifierName":"icecream"},
|
|
"name": "icecream"
|
|
},
|
|
"init": {
|
|
"type": "ConditionalExpression",
|
|
"start":1806,"end":1929,"loc":{"start":{"line":42,"column":15},"end":{"line":44,"column":35}},
|
|
"test": {
|
|
"type": "BinaryExpression",
|
|
"start":1806,"end":1820,"loc":{"start":{"line":42,"column":15},"end":{"line":42,"column":29}},
|
|
"left": {
|
|
"type": "Identifier",
|
|
"start":1806,"end":1810,"loc":{"start":{"line":42,"column":15},"end":{"line":42,"column":19},"identifierName":"what"},
|
|
"name": "what"
|
|
},
|
|
"operator": "==",
|
|
"right": {
|
|
"type": "StringLiteral",
|
|
"start":1814,"end":1820,"loc":{"start":{"line":42,"column":23},"end":{"line":42,"column":29}},
|
|
"extra": {
|
|
"rawValue": "cone",
|
|
"raw": "\"cone\""
|
|
},
|
|
"value": "cone"
|
|
}
|
|
},
|
|
"consequent": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1825,"end":1893,"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":72}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1825,"end":1826,"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":5},"identifierName":"p"},
|
|
"name": "p"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "ConditionalExpression",
|
|
"start":1831,"end":1892,"loc":{"start":{"line":43,"column":10},"end":{"line":43,"column":71}},
|
|
"test": {
|
|
"type": "UnaryExpression",
|
|
"start":1831,"end":1834,"loc":{"start":{"line":43,"column":10},"end":{"line":43,"column":13}},
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"argument": {
|
|
"type": "UnaryExpression",
|
|
"start":1832,"end":1834,"loc":{"start":{"line":43,"column":11},"end":{"line":43,"column":13}},
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"argument": {
|
|
"type": "Identifier",
|
|
"start":1833,"end":1834,"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":13},"identifierName":"p"},
|
|
"name": "p"
|
|
}
|
|
}
|
|
},
|
|
"consequent": {
|
|
"type": "TemplateLiteral",
|
|
"start":1837,"end":1860,"loc":{"start":{"line":43,"column":16},"end":{"line":43,"column":39}},
|
|
"expressions": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1852,"end":1853,"loc":{"start":{"line":43,"column":31},"end":{"line":43,"column":32},"identifierName":"p"},
|
|
"name": "p"
|
|
}
|
|
],
|
|
"quasis": [
|
|
{
|
|
"type": "TemplateElement",
|
|
"start":1838,"end":1850,"loc":{"start":{"line":43,"column":17},"end":{"line":43,"column":29}},
|
|
"value": {
|
|
"raw": "here's your ",
|
|
"cooked": "here's your "
|
|
},
|
|
"tail": false
|
|
},
|
|
{
|
|
"type": "TemplateElement",
|
|
"start":1854,"end":1859,"loc":{"start":{"line":43,"column":33},"end":{"line":43,"column":38}},
|
|
"value": {
|
|
"raw": " cone",
|
|
"cooked": " cone"
|
|
},
|
|
"tail": true
|
|
}
|
|
]
|
|
},
|
|
"alternate": {
|
|
"type": "TemplateLiteral",
|
|
"start":1863,"end":1892,"loc":{"start":{"line":43,"column":42},"end":{"line":43,"column":71}},
|
|
"expressions": [],
|
|
"quasis": [
|
|
{
|
|
"type": "TemplateElement",
|
|
"start":1864,"end":1891,"loc":{"start":{"line":43,"column":43},"end":{"line":43,"column":70}},
|
|
"value": {
|
|
"raw": "just the empty cone for you",
|
|
"cooked": "just the empty cone for you"
|
|
},
|
|
"tail": true
|
|
}
|
|
]
|
|
},
|
|
"extra": {
|
|
"parenthesized": true,
|
|
"parenStart": 1830
|
|
}
|
|
}
|
|
},
|
|
"alternate": {
|
|
"type": "ArrowFunctionExpression",
|
|
"start":1898,"end":1929,"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":35}},
|
|
"id": null,
|
|
"generator": false,
|
|
"async": false,
|
|
"params": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1898,"end":1899,"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":5},"identifierName":"p"},
|
|
"name": "p"
|
|
}
|
|
],
|
|
"body": {
|
|
"type": "TemplateLiteral",
|
|
"start":1903,"end":1929,"loc":{"start":{"line":44,"column":9},"end":{"line":44,"column":35}},
|
|
"expressions": [
|
|
{
|
|
"type": "Identifier",
|
|
"start":1918,"end":1919,"loc":{"start":{"line":44,"column":24},"end":{"line":44,"column":25},"identifierName":"p"},
|
|
"name": "p"
|
|
},
|
|
{
|
|
"type": "Identifier",
|
|
"start":1923,"end":1927,"loc":{"start":{"line":44,"column":29},"end":{"line":44,"column":33},"identifierName":"what"},
|
|
"name": "what"
|
|
}
|
|
],
|
|
"quasis": [
|
|
{
|
|
"type": "TemplateElement",
|
|
"start":1904,"end":1916,"loc":{"start":{"line":44,"column":10},"end":{"line":44,"column":22}},
|
|
"value": {
|
|
"raw": "here's your ",
|
|
"cooked": "here's your "
|
|
},
|
|
"tail": false
|
|
},
|
|
{
|
|
"type": "TemplateElement",
|
|
"start":1920,"end":1921,"loc":{"start":{"line":44,"column":26},"end":{"line":44,"column":27}},
|
|
"value": {
|
|
"raw": " ",
|
|
"cooked": " "
|
|
},
|
|
"tail": false
|
|
},
|
|
{
|
|
"type": "TemplateElement",
|
|
"start":1928,"end":1928,"loc":{"start":{"line":44,"column":34},"end":{"line":44,"column":34}},
|
|
"value": {
|
|
"raw": "",
|
|
"cooked": ""
|
|
},
|
|
"tail": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"kind": "let",
|
|
"leadingComments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async (b) => c => d) : (e => f)",
|
|
"start":1698,"end":1737,"loc":{"start":{"line":39,"column":36},"end":{"line":39,"column":75}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " https://github.com/prettier/prettier/issues/2194",
|
|
"start":1739,"end":1790,"loc":{"start":{"line":41,"column":0},"end":{"line":41,"column":51}}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"directives": []
|
|
},
|
|
"comments": [
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Valid lhs value inside parentheses",
|
|
"start":0,"end":37,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":37}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : (c => d)",
|
|
"start":56,"end":75,"loc":{"start":{"line":2,"column":18},"end":{"line":2,"column":37}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => d) : e",
|
|
"start":98,"end":122,"loc":{"start":{"line":3,"column":22},"end":{"line":3,"column":46}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : ((c): d => e)",
|
|
"start":147,"end":171,"loc":{"start":{"line":4,"column":24},"end":{"line":4,"column":48}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Nested arrow function inside parentheses",
|
|
"start":173,"end":216,"loc":{"start":{"line":6,"column":0},"end":{"line":6,"column":43}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b = (c) => d) : (e => f)",
|
|
"start":246,"end":278,"loc":{"start":{"line":7,"column":29},"end":{"line":7,"column":61}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b = (c) => d): e => f) : g",
|
|
"start":312,"end":347,"loc":{"start":{"line":8,"column":33},"end":{"line":8,"column":68}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Nested conditional expressions",
|
|
"start":349,"end":382,"loc":{"start":{"line":10,"column":0},"end":{"line":10,"column":33}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " b ? (c ? ((d): e => f) : g) : h",
|
|
"start":419,"end":453,"loc":{"start":{"line":11,"column":36},"end":{"line":11,"column":70}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c ? d : (e => f)) : g) : h",
|
|
"start":490,"end":529,"loc":{"start":{"line":12,"column":36},"end":{"line":12,"column":75}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? c : ((d): e => f)) : g",
|
|
"start":565,"end":599,"loc":{"start":{"line":14,"column":34},"end":{"line":14,"column":68}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Multiple arrow functions",
|
|
"start":601,"end":628,"loc":{"start":{"line":16,"column":0},"end":{"line":16,"column":27}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => d) : ((e): f => g)",
|
|
"start":662,"end":698,"loc":{"start":{"line":17,"column":33},"end":{"line":17,"column":69}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Multiple nested arrow functions (<T> is needed to avoid ambiguities)",
|
|
"start":700,"end":771,"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":71}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => ((d): e => f)) : g",
|
|
"start":805,"end":841,"loc":{"start":{"line":20,"column":33},"end":{"line":20,"column":69}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? b : (c => (<T>(d): e => f))",
|
|
"start":874,"end":908,"loc":{"start":{"line":21,"column":32},"end":{"line":21,"column":66}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (<T>(b): c => d) : (e => f)",
|
|
"start":941,"end":975,"loc":{"start":{"line":22,"column":32},"end":{"line":22,"column":66}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Invalid lhs value inside parentheses",
|
|
"start":977,"end":1016,"loc":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b => c) : (d => e)",
|
|
"start":1040,"end":1066,"loc":{"start":{"line":25,"column":23},"end":{"line":25,"column":49}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c => d) : (e => f)) : g",
|
|
"start":1098,"end":1134,"loc":{"start":{"line":26,"column":31},"end":{"line":26,"column":67}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Invalid lhs value inside parentheses inside arrow function",
|
|
"start":1136,"end":1197,"loc":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): c => (d => e)) : (f => g)",
|
|
"start":1232,"end":1270,"loc":{"start":{"line":29,"column":34},"end":{"line":29,"column":72}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (b ? (c => d) : (e => (f => g))) : (h => i)",
|
|
"start":1314,"end":1364,"loc":{"start":{"line":30,"column":43},"end":{"line":30,"column":93}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Function as type annotation",
|
|
"start":1366,"end":1396,"loc":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? ((b): (c => d) => e) : f",
|
|
"start":1426,"end":1457,"loc":{"start":{"line":33,"column":29},"end":{"line":33,"column":60}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " Async functions or calls",
|
|
"start":1459,"end":1486,"loc":{"start":{"line":35,"column":0},"end":{"line":35,"column":27}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async(b)) : (c => d)",
|
|
"start":1511,"end":1539,"loc":{"start":{"line":36,"column":24},"end":{"line":36,"column":52}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async (b): c => d) : e",
|
|
"start":1568,"end":1598,"loc":{"start":{"line":37,"column":28},"end":{"line":37,"column":58}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async(b => c)) : (d => e)",
|
|
"start":1628,"end":1661,"loc":{"start":{"line":38,"column":29},"end":{"line":38,"column":62}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " a ? (async (b) => c => d) : (e => f)",
|
|
"start":1698,"end":1737,"loc":{"start":{"line":39,"column":36},"end":{"line":39,"column":75}}
|
|
},
|
|
{
|
|
"type": "CommentLine",
|
|
"value": " https://github.com/prettier/prettier/issues/2194",
|
|
"start":1739,"end":1790,"loc":{"start":{"line":41,"column":0},"end":{"line":41,"column":51}}
|
|
}
|
|
]
|
|
} |