Struct wasmparser::ValidatingOperatorParser
[−]
[src]
pub struct ValidatingOperatorParser<'b> { /* fields omitted */ }
Methods
impl<'b> ValidatingOperatorParser<'b>
[src]
fn eof(&self) -> bool
[src]
fn current_position(&self) -> usize
[src]
fn is_dead_code(&self) -> bool
[src]
fn next(&mut self, resources: &WasmModuleResources) -> Result<Operator<'b>>
[src]
Creates a BinaryReader when current state is ParserState::BeginSection or ParserState::BeginFunctionBody.
Examples
use wasmparser::{WasmDecoder, ParserState, ValidatingParser, WasmModuleResources}; let mut parser = ValidatingParser::new(data); let mut validating_parsers = Vec::new(); loop { { match *parser.read() { ParserState::Error(_) | ParserState::EndWasm => break, ParserState::BeginFunctionBody {..} => (), _ => continue } } let reader = parser.create_validating_operator_parser(); validating_parsers.push(reader); } for (i, reader) in validating_parsers.iter_mut().enumerate() { println!("Function {}", i); while !reader.eof() { let read = reader.next(&parser); if let Ok(ref op) = read { println!(" {:?}", op); } else { panic!(" Bad wasm code {:?}", read.err()); } } }