Skip to content

Commit 585422d

Browse files
committed
Return non zero in case of error
1 parent 4537360 commit 585422d

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/main.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ fn main() {
5151
"",
5252
Diagnostic::error(files_validation_result.err().unwrap().as_str()),
5353
);
54-
return;
54+
std::process::exit(1);
5555
}
5656

5757
if let Err(parse_modules_error) = parse_llvm_modules(&arguments.files) {
5858
reporter.report_diagnostic("", Diagnostic::error(parse_modules_error.as_str()));
59-
return;
59+
std::process::exit(1);
6060
}
6161

6262
let mut env = create_llql_environment();
@@ -74,12 +74,12 @@ fn main() {
7474
if let Err(validate_files_errors) = validate_files_paths(&arguments.files) {
7575
reporter
7676
.report_diagnostic(&query, Diagnostic::error(validate_files_errors.as_str()));
77-
return;
77+
std::process::exit(1);
7878
}
7979

8080
if let Err(parse_modules_error) = parse_llvm_modules(&arguments.files) {
8181
reporter.report_diagnostic("", Diagnostic::error(parse_modules_error.as_str()));
82-
return;
82+
std::process::exit(1);
8383
}
8484

8585
let mut env = create_llql_environment();
@@ -96,6 +96,7 @@ fn main() {
9696
}
9797
Command::Error(error_message) => {
9898
println!("{}", error_message);
99+
std::process::exit(1);
99100
}
100101
}
101102
}
@@ -105,12 +106,12 @@ fn launch_llql_repl(arguments: &Arguments) {
105106
let files = &arguments.files;
106107
if let Err(error) = validate_files_paths(files) {
107108
reporter.report_diagnostic("", Diagnostic::error(error.as_str()));
108-
return;
109+
std::process::exit(1);
109110
}
110111

111112
if let Err(parse_modules_error) = parse_llvm_modules(files) {
112113
reporter.report_diagnostic("", Diagnostic::error(parse_modules_error.as_str()));
113-
return;
114+
std::process::exit(1);
114115
}
115116

116117
let mut global_env = create_llql_environment();
@@ -203,19 +204,19 @@ fn execute_llql_query(
203204
if tokenizer_result.is_err() {
204205
let diagnostic = tokenizer_result.err().unwrap();
205206
reporter.report_diagnostic(&query, *diagnostic);
206-
return;
207+
std::process::exit(1);
207208
}
208209

209210
let tokens = tokenizer_result.ok().unwrap();
210211
if tokens.is_empty() {
211-
return;
212+
std::process::exit(1);
212213
}
213214

214215
let parser_result = parser::parse_gql(tokens, env);
215216
if parser_result.is_err() {
216217
let diagnostic = parser_result.err().unwrap();
217218
reporter.report_diagnostic(&query, *diagnostic);
218-
return;
219+
std::process::exit(1);
219220
}
220221

221222
let query_node = parser_result.ok().unwrap();
@@ -229,7 +230,7 @@ fn execute_llql_query(
229230
if evaluation_result.is_err() {
230231
let exception = Diagnostic::exception(&evaluation_result.err().unwrap());
231232
reporter.report_diagnostic(&query, exception);
232-
return;
233+
std::process::exit(1);
233234
}
234235

235236
// Render the result only if they are selected groups not any other statement
@@ -269,7 +270,7 @@ fn validate_files_paths(files: &[String]) -> Result<(), String> {
269270
}
270271

271272
if file.ends_with(".ll") || file.ends_with(".bc") {
272-
continue;
273+
std::process::exit(1);
273274
}
274275

275276
return Err(format!("File ${} must end with LL or BC extension", file));

0 commit comments

Comments
 (0)