INNER CODE UNIT · Rust
parse_decl_body
dontpanic92/OpenPAL3 · crosscom/ccidl-rs/src/lib.rs:531
fn parse_decl_body(
&mut self,
with_methods: bool,
) -> Result<(String, Vec<String>, Vec<Method>), String> {
self.skip_ws();
let name = self.read_identifier()?;
self.skip_ws();
let mut bases = Vec::new();
if self.peek_char() == Some(':') {
self.pos += 1;
let raw_bases = self.read_until('{')?;
bases = raw_bases
.split(',')
.map(str::trim)
.filter(|base| !base.is_empty())
.map(ToOwned::to_owned)
.collect();