Parse instruction results and return them. inst-results ::= Value(v) { "," Value(v) }
(&mut self)
| 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 | // |
no test coverage detected