(flags ParseFlags, allowAmbiguity bool)
| 3285 | } |
| 3286 | |
| 3287 | func (p *Parser) parseParametersWorker(flags ParseFlags, allowAmbiguity bool) *ast.NodeList { |
| 3288 | // FormalParameters [Yield,Await]: (modified) |
| 3289 | // [empty] |
| 3290 | // FormalParameterList[?Yield,Await] |
| 3291 | // |
| 3292 | // FormalParameter[Yield,Await]: (modified) |
| 3293 | // BindingElement[?Yield,Await] |
| 3294 | // |
| 3295 | // BindingElement [Yield,Await]: (modified) |
| 3296 | // SingleNameBinding[?Yield,?Await] |
| 3297 | // BindingPattern[?Yield,?Await]Initializer [In, ?Yield,?Await] opt |
| 3298 | // |
| 3299 | // SingleNameBinding [Yield,Await]: |
| 3300 | // BindingIdentifier[?Yield,?Await]Initializer [In, ?Yield,?Await] opt |
| 3301 | inAwaitContext := p.contextFlags&ast.NodeFlagsAwaitContext != 0 |
| 3302 | saveContextFlags := p.contextFlags |
| 3303 | p.setContextFlags(ast.NodeFlagsYieldContext, flags&ParseFlagsYield != 0) |
| 3304 | p.setContextFlags(ast.NodeFlagsAwaitContext, flags&ParseFlagsAwait != 0) |
| 3305 | parameters := p.parseDelimitedList(PCParameters, func(p *Parser) *ast.Node { |
| 3306 | parameter := p.parseParameterEx(inAwaitContext, allowAmbiguity) |
| 3307 | if parameter != nil && flags&ParseFlagsType == 0 { |
| 3308 | p.checkJSSyntax(parameter) |
| 3309 | } |
| 3310 | return parameter |
| 3311 | }) |
| 3312 | p.contextFlags = saveContextFlags |
| 3313 | return parameters |
| 3314 | } |
| 3315 | |
| 3316 | func (p *Parser) parseParameter() *ast.Node { |
| 3317 | return p.parseParameterEx(false /*inOuterAwaitContext*/, true /*allowAmbiguity*/) |
no test coverage detected