Skip to content

Commit 218cb75

Browse files
author
Roland Peelen
committed
Revert ":bug: - fix faulty parse logic"
This reverts commit b16c67f.
1 parent 775b36b commit 218cb75

File tree

1 file changed

+36
-68
lines changed

1 file changed

+36
-68
lines changed

src/build/parse.rs

Lines changed: 36 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -103,90 +103,58 @@ pub fn generate_asts(
103103
.packages
104104
.get(&module.package_name)
105105
.expect("Package not found");
106-
if is_dirty {
107-
module.compile_dirty = true
108-
}
109-
match ast_path {
110-
Ok((_path, err)) => {
111-
match module.source_type {
112-
SourceType::SourceFile(ref mut source_file) => {
113-
source_file.implementation.parse_dirty = false;
114-
source_file
115-
.interface
116-
.as_mut()
117-
.map(|interface| interface.parse_dirty = false);
118-
}
119-
_ => (),
120-
}
121-
// supress warnings in non-pinned deps
122-
match module.source_type {
123-
SourceType::SourceFile(ref mut source_file) => {
124-
source_file.implementation.parse_state = ParseState::Success;
125-
}
126-
_ => (),
127-
}
128-
129-
if package.is_pinned_dep {
130-
if let Some(err) = err {
131-
match module.source_type {
132-
SourceType::SourceFile(ref mut source_file) => {
133-
source_file.implementation.parse_state = ParseState::Warning;
134-
source_file.implementation.parse_dirty = true;
135-
}
136-
_ => (),
137-
}
138-
logs::append(package, &err);
139-
stderr.push_str(&err);
140-
}
106+
match (ast_path, module.source_type.to_owned()) {
107+
// supress warnings in non-pinned deps
108+
(Ok((_path, Some(err))), SourceType::SourceFile(ref mut source_file))
109+
if package.is_pinned_dep =>
110+
{
111+
source_file.implementation.parse_state = ParseState::Warning;
112+
source_file.implementation.parse_dirty = true;
113+
if let Some(interface) = source_file.interface.as_mut() {
114+
interface.parse_dirty = false;
141115
}
116+
logs::append(package, &err);
117+
stderr.push_str(&err);
142118
}
143-
Err(err) => {
144-
match module.source_type {
145-
SourceType::SourceFile(ref mut source_file) => {
146-
source_file.implementation.parse_state = ParseState::ParseError;
147-
source_file.implementation.parse_dirty = true;
148-
}
149-
_ => (),
119+
(Ok((_path, None)), SourceType::SourceFile(ref mut source_file)) => {
120+
source_file.implementation.parse_state = ParseState::Success;
121+
source_file.implementation.parse_dirty = false;
122+
if let Some(interface) = source_file.interface.as_mut() {
123+
interface.parse_dirty = false;
150124
}
125+
}
126+
(Err(err), SourceType::SourceFile(ref mut source_file)) => {
127+
source_file.implementation.parse_state = ParseState::ParseError;
128+
source_file.implementation.parse_dirty = true;
151129
logs::append(package, &err);
152130
has_failure = true;
153131
stderr.push_str(&err);
154132
}
133+
_ => (),
155134
};
156-
match iast_path {
157-
Ok(Some((_path, err))) => {
135+
136+
match (iast_path, module.source_type.to_owned()) {
137+
(Ok(Some((_path, Some(err)))), SourceType::SourceFile(ref mut source_file))
138+
if package.is_pinned_dep =>
139+
{
158140
// supress warnings in non-pinned deps
159-
if package.is_pinned_dep {
160-
if let Some(err) = err {
161-
match module.source_type {
162-
SourceType::SourceFile(ref mut source_file) => {
163-
source_file.interface.as_mut().map(|interface| {
164-
interface.parse_state = ParseState::ParseError;
165-
interface.parse_dirty = true;
166-
});
167-
}
168-
_ => (),
169-
}
170-
logs::append(package, &err);
171-
stderr.push_str(&err);
172-
}
141+
if let Some(interface) = source_file.interface.as_mut() {
142+
interface.parse_state = ParseState::Warning;
143+
interface.parse_dirty = true;
173144
}
145+
logs::append(package, &err);
146+
stderr.push_str(&err);
174147
}
175-
Ok(None) => (),
176-
Err(err) => {
177-
match module.source_type {
178-
SourceType::SourceFile(ref mut source_file) => {
179-
source_file.interface.as_mut().map(|interface| {
180-
interface.parse_state = ParseState::ParseError;
181-
interface.parse_dirty = true;
182-
});
183-
}
184-
_ => (),
148+
(Err(err), SourceType::SourceFile(ref mut source_file)) => {
149+
if let Some(interface) = source_file.interface.as_mut() {
150+
interface.parse_state = ParseState::ParseError;
151+
interface.parse_dirty = true;
185152
}
186153
logs::append(package, &err);
187154
has_failure = true;
188155
stderr.push_str(&err);
189156
}
157+
_ => (),
190158
};
191159
}
192160
});

0 commit comments

Comments
 (0)