Fix include with TextMacroUsage
This commit is contained in:
parent
800fa41894
commit
52082c01a1
@ -112,6 +112,18 @@ fn preprocess_str<T: AsRef<Path>, U: AsRef<Path>>(
|
|||||||
let mut ret = PreprocessedText::new();
|
let mut ret = PreprocessedText::new();
|
||||||
|
|
||||||
for n in pp_text.into_iter().event() {
|
for n in pp_text.into_iter().event() {
|
||||||
|
match n.clone() {
|
||||||
|
NodeEvent::Enter(x) => {
|
||||||
|
if skip_nodes.contains(&x) {
|
||||||
|
skip = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
NodeEvent::Leave(x) => {
|
||||||
|
if skip_nodes.contains(&x) {
|
||||||
|
skip = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
match n {
|
match n {
|
||||||
NodeEvent::Enter(RefNode::ResetallCompilerDirective(_)) if !skip => {
|
NodeEvent::Enter(RefNode::ResetallCompilerDirective(_)) if !skip => {
|
||||||
defines.clear();
|
defines.clear();
|
||||||
@ -247,8 +259,10 @@ fn preprocess_str<T: AsRef<Path>, U: AsRef<Path>>(
|
|||||||
}
|
}
|
||||||
IncludeCompilerDirective::TextMacroUsage(x) => {
|
IncludeCompilerDirective::TextMacroUsage(x) => {
|
||||||
let (_, _, ref x) = x.nodes;
|
let (_, _, ref x) = x.nodes;
|
||||||
|
skip_nodes.push(x.into());
|
||||||
let (p, _, _, _) =
|
let (p, _, _, _) =
|
||||||
resolve_text_macro_usage(x, s, path.as_ref(), &defines, include_paths)?;
|
resolve_text_macro_usage(x, s, path.as_ref(), &defines, include_paths)?;
|
||||||
|
let p = p.trim().trim_matches('"');
|
||||||
PathBuf::from(p)
|
PathBuf::from(p)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -274,16 +288,7 @@ fn preprocess_str<T: AsRef<Path>, U: AsRef<Path>>(
|
|||||||
ret.push(&text, path, range);
|
ret.push(&text, path, range);
|
||||||
defines = new_defines;
|
defines = new_defines;
|
||||||
}
|
}
|
||||||
NodeEvent::Enter(x) => {
|
_ => (),
|
||||||
if skip_nodes.contains(&x) {
|
|
||||||
skip = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
NodeEvent::Leave(x) => {
|
|
||||||
if skip_nodes.contains(&x) {
|
|
||||||
skip = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user