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

Method parse_inst_results

cranelift/reader/src/parser.rs:2163–2183  ·  view source on GitHub ↗

Parse instruction results and return them. inst-results ::= Value(v) { "," Value(v) }

(&mut self)

Source from the content-addressed store, hash-verified

2161 // inst-results ::= Value(v) { "," Value(v) }
2162 //
2163 fn parse_inst_results(&mut self) -> ParseResult<SmallVec<[Value; 1]>> {
2164 // Result value numbers.
2165 let mut results = SmallVec::new();
2166
2167 // instruction ::= * [inst-results "="] Opcode(opc) ["." Type] ...
2168 // inst-results ::= * Value(v) { "," Value(v) }
2169 if let Some(Token::Value(v)) = self.token() {
2170 self.consume();
2171
2172 results.push(v);
2173
2174 // inst-results ::= Value(v) * { "," Value(v) }
2175 while self.optional(Token::Comma) {
2176 // inst-results ::= Value(v) { "," * Value(v) }
2177 let v = self.match_value("expected result value")?;
2178 results.push(v);
2179 }
2180 }
2181
2182 Ok(results)
2183 }
2184
2185 // Parse a value alias, and append it to `block`.
2186 //

Callers 1

parse_basic_blockMethod · 0.80

Calls 7

OkFunction · 0.85
tokenMethod · 0.80
optionalMethod · 0.80
match_valueMethod · 0.80
newFunction · 0.50
consumeMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected