(type, value, noComma)
| 34385 | return cont(pushlex(")"), maybeexpression, expect(")"), poplex) |
| 34386 | } |
| 34387 | function expressionInner(type, value, noComma) { |
| 34388 | if (cx.state.fatArrowAt == cx.stream.start) { |
| 34389 | var body = noComma ? arrowBodyNoComma : arrowBody; |
| 34390 | if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, expect("=>"), body, popcontext); |
| 34391 | else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext); |
| 34392 | } |
| 34393 | |
| 34394 | var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma; |
| 34395 | if (atomicTypes.hasOwnProperty(type)) return cont(maybeop); |
| 34396 | if (type == "function") return cont(functiondef, maybeop); |
| 34397 | if (type == "class" || (isTS && value == "interface")) { cx.marked = "keyword"; return cont(pushlex("form"), classExpression, poplex); } |
| 34398 | if (type == "keyword c" || type == "async") return cont(noComma ? expressionNoComma : expression); |
| 34399 | if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeop); |
| 34400 | if (type == "operator" || type == "spread") return cont(noComma ? expressionNoComma : expression); |
| 34401 | if (type == "[") return cont(pushlex("]"), arrayLiteral, poplex, maybeop); |
| 34402 | if (type == "{") return contCommasep(objprop, "}", null, maybeop); |
| 34403 | if (type == "quasi") return pass(quasi, maybeop); |
| 34404 | if (type == "new") return cont(maybeTarget(noComma)); |
| 34405 | return cont(); |
| 34406 | } |
| 34407 | function maybeexpression(type) { |
| 34408 | if (type.match(/[;\}\)\],]/)) return pass(); |
| 34409 | return pass(expression); |
no test coverage detected