Struct wasmparser::ValidatingOperatorParser [] [src]

pub struct ValidatingOperatorParser<'b> { /* fields omitted */ }

Methods

impl<'b> ValidatingOperatorParser<'b>
[src]

[src]

[src]

[src]

[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());
      }
    }
}