MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / parse_block_params

Method parse_block_params

cranelift/reader/src/parser.rs:2111–2134  ·  view source on GitHub ↗

Parse parenthesized list of block parameters. block-params ::= * "(" ( block-param { "," block-param } )? ")"

(&mut self, ctx: &mut Context, block: Block)

Source from the content-addressed store, hash-verified

2109 //
2110 // block-params ::= * "(" ( block-param { "," block-param } )? ")"
2111 fn parse_block_params(&mut self, ctx: &mut Context, block: Block) -> ParseResult<()> {
2112 // block-params ::= * "(" ( block-param { "," block-param } )? ")"
2113 self.match_token(Token::LPar, "expected '(' before block parameters")?;
2114
2115 // block-params ::= "(" * ")"
2116 if self.token() == Some(Token::RPar) {
2117 self.consume();
2118 return Ok(());
2119 }
2120
2121 // block-params ::= "(" * block-param { "," block-param } ")"
2122 self.parse_block_param(ctx, block)?;
2123
2124 // block-params ::= "(" block-param * { "," block-param } ")"
2125 while self.optional(Token::Comma) {
2126 // block-params ::= "(" block-param { "," * block-param } ")"
2127 self.parse_block_param(ctx, block)?;
2128 }
2129
2130 // block-params ::= "(" block-param { "," block-param } * ")"
2131 self.match_token(Token::RPar, "expected ')' after block parameters")?;
2132
2133 Ok(())
2134 }
2135
2136 // Parse a single block parameter declaration, and append it to `block`.
2137 //

Callers 1

parse_basic_blockMethod · 0.80

Calls 6

OkFunction · 0.85
match_tokenMethod · 0.80
tokenMethod · 0.80
parse_block_paramMethod · 0.80
optionalMethod · 0.80
consumeMethod · 0.45

Tested by

no test coverage detected