Skip to content

Commit

Permalink
Add code to NameWithType to allow more accurate type parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
krolli committed Sep 14, 2022
1 parent d6e87a6 commit 615ffb6
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
16 changes: 10 additions & 6 deletions vk-parse/src/parse.rs
Expand Up @@ -140,7 +140,6 @@ macro_rules! match_elements_combine_text {
XmlEvent::Characters(text) => $buffer.push_str(&text),
XmlEvent::Whitespace(text) => $buffer.push_str(&text),
XmlEvent::StartElement { name, .. } => {
$buffer.push(' ');
let name = name.local_name.as_str();
$ctx.push_element(name);
match name {
Expand All @@ -157,7 +156,6 @@ macro_rules! match_elements_combine_text {
}
}
XmlEvent::EndElement { .. } => {
$buffer.push(' ');
$ctx.pop_element();
break;
},
Expand Down Expand Up @@ -633,15 +631,16 @@ fn parse_command<R: Read>(ctx: &mut ParseCtx<R>, attributes: Vec<XmlAttribute>)
) -> Option<NameWithType> {
let mut name = None;
let mut type_name = None;
match_elements_combine_text! {ctx, buffer,
let mut code = String::new();
match_elements_combine_text! {ctx, code,
"type" => {
let text = parse_text_element(ctx);
buffer.push_str(&text);
code.push_str(&text);
type_name = Some(text);
},
"name" => {
let text = parse_text_element(ctx);
buffer.push_str(&text);
code.push_str(&text);
name = Some(text);
}
}
Expand All @@ -655,7 +654,12 @@ fn parse_command<R: Read>(ctx: &mut ParseCtx<R>, attributes: Vec<XmlAttribute>)
return None;
};

Some(NameWithType { name, type_name })
buffer.push_str(&code);
Some(NameWithType {
name,
type_name,
code,
})
}

match_elements! {ctx, attributes,
Expand Down
6 changes: 6 additions & 0 deletions vk-parse/src/types.rs
Expand Up @@ -1146,6 +1146,12 @@ pub struct NameWithType {
serde(default, skip_serializing_if = "is_default")
)]
pub name: String,

#[cfg_attr(
feature = "serialize",
serde(default, skip_serializing_if = "is_default")
)]
pub code: String,
}

#[derive(Debug, Clone, PartialEq, Eq, Default)]
Expand Down

0 comments on commit 615ffb6

Please sign in to comment.