@@ -2,6 +2,7 @@ use std::fs;
2
2
use std:: io;
3
3
use std:: io:: IsTerminal ;
4
4
use std:: path:: Path ;
5
+ use std:: process;
5
6
6
7
use arguments:: Arguments ;
7
8
use arguments:: Command ;
@@ -51,12 +52,12 @@ fn main() {
51
52
"" ,
52
53
Diagnostic :: error ( files_validation_result. err ( ) . unwrap ( ) . as_str ( ) ) ,
53
54
) ;
54
- return ;
55
+ std :: process :: exit ( 1 ) ;
55
56
}
56
57
57
58
if let Err ( parse_modules_error) = parse_llvm_modules ( & arguments. files ) {
58
59
reporter. report_diagnostic ( "" , Diagnostic :: error ( parse_modules_error. as_str ( ) ) ) ;
59
- return ;
60
+ std :: process :: exit ( 1 ) ;
60
61
}
61
62
62
63
let mut env = create_llql_environment ( ) ;
@@ -74,12 +75,12 @@ fn main() {
74
75
if let Err ( validate_files_errors) = validate_files_paths ( & arguments. files ) {
75
76
reporter
76
77
. report_diagnostic ( & query, Diagnostic :: error ( validate_files_errors. as_str ( ) ) ) ;
77
- return ;
78
+ std :: process :: exit ( 1 ) ;
78
79
}
79
80
80
81
if let Err ( parse_modules_error) = parse_llvm_modules ( & arguments. files ) {
81
82
reporter. report_diagnostic ( "" , Diagnostic :: error ( parse_modules_error. as_str ( ) ) ) ;
82
- return ;
83
+ std :: process :: exit ( 1 ) ;
83
84
}
84
85
85
86
let mut env = create_llql_environment ( ) ;
@@ -96,6 +97,7 @@ fn main() {
96
97
}
97
98
Command :: Error ( error_message) => {
98
99
println ! ( "{}" , error_message) ;
100
+ std:: process:: exit ( 1 ) ;
99
101
}
100
102
}
101
103
}
@@ -105,12 +107,12 @@ fn launch_llql_repl(arguments: &Arguments) {
105
107
let files = & arguments. files ;
106
108
if let Err ( error) = validate_files_paths ( files) {
107
109
reporter. report_diagnostic ( "" , Diagnostic :: error ( error. as_str ( ) ) ) ;
108
- return ;
110
+ std :: process :: exit ( 1 ) ;
109
111
}
110
112
111
113
if let Err ( parse_modules_error) = parse_llvm_modules ( files) {
112
114
reporter. report_diagnostic ( "" , Diagnostic :: error ( parse_modules_error. as_str ( ) ) ) ;
113
- return ;
115
+ std :: process :: exit ( 1 ) ;
114
116
}
115
117
116
118
let mut global_env = create_llql_environment ( ) ;
@@ -203,19 +205,19 @@ fn execute_llql_query(
203
205
if tokenizer_result. is_err ( ) {
204
206
let diagnostic = tokenizer_result. err ( ) . unwrap ( ) ;
205
207
reporter. report_diagnostic ( & query, * diagnostic) ;
206
- return ;
208
+ std :: process :: exit ( 1 ) ;
207
209
}
208
210
209
211
let tokens = tokenizer_result. ok ( ) . unwrap ( ) ;
210
212
if tokens. is_empty ( ) {
211
- return ;
213
+ std :: process :: exit ( 1 ) ;
212
214
}
213
215
214
216
let parser_result = parser:: parse_gql ( tokens, env) ;
215
217
if parser_result. is_err ( ) {
216
218
let diagnostic = parser_result. err ( ) . unwrap ( ) ;
217
219
reporter. report_diagnostic ( & query, * diagnostic) ;
218
- return ;
220
+ std :: process :: exit ( 1 ) ;
219
221
}
220
222
221
223
let query_node = parser_result. ok ( ) . unwrap ( ) ;
@@ -229,7 +231,7 @@ fn execute_llql_query(
229
231
if evaluation_result. is_err ( ) {
230
232
let exception = Diagnostic :: exception ( & evaluation_result. err ( ) . unwrap ( ) ) ;
231
233
reporter. report_diagnostic ( & query, exception) ;
232
- return ;
234
+ std :: process :: exit ( 1 ) ;
233
235
}
234
236
235
237
// Render the result only if they are selected groups not any other statement
@@ -269,7 +271,7 @@ fn validate_files_paths(files: &[String]) -> Result<(), String> {
269
271
}
270
272
271
273
if file. ends_with ( ".ll" ) || file. ends_with ( ".bc" ) {
272
- continue ;
274
+ std :: process :: exit ( 1 ) ;
273
275
}
274
276
275
277
return Err ( format ! ( "File ${} must end with LL or BC extension" , file) ) ;
0 commit comments