| 739 | if (isTS && value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, functiondef) |
| 740 | } |
| 741 | function functiondecl(type, value) { |
| 742 | if (value == "*") {cx.marked = "keyword"; return cont(functiondecl);} |
| 743 | if (type == "variable") {register(value); return cont(functiondecl);} |
| 744 | if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, mayberettype, popcontext); |
| 745 | if (isTS && value == "<") return cont(pushlex(">"), commasep(typeparam, ">"), poplex, functiondecl) |
| 746 | } |
| 747 | function typename(type, value) { |
| 748 | if (type == "keyword" || type == "variable") { |
| 749 | cx.marked = "type" |