@@ -2,6 +2,7 @@ use std::fs;
22use std:: io;
33use std:: io:: IsTerminal ;
44use std:: path:: Path ;
5+ use std:: process;
56
67use arguments:: Arguments ;
78use arguments:: Command ;
@@ -51,12 +52,12 @@ fn main() {
5152 "" ,
5253 Diagnostic :: error ( files_validation_result. err ( ) . unwrap ( ) . as_str ( ) ) ,
5354 ) ;
54- return ;
55+ std :: process :: exit ( 1 ) ;
5556 }
5657
5758 if let Err ( parse_modules_error) = parse_llvm_modules ( & arguments. files ) {
5859 reporter. report_diagnostic ( "" , Diagnostic :: error ( parse_modules_error. as_str ( ) ) ) ;
59- return ;
60+ std :: process :: exit ( 1 ) ;
6061 }
6162
6263 let mut env = create_llql_environment ( ) ;
@@ -74,12 +75,12 @@ fn main() {
7475 if let Err ( validate_files_errors) = validate_files_paths ( & arguments. files ) {
7576 reporter
7677 . report_diagnostic ( & query, Diagnostic :: error ( validate_files_errors. as_str ( ) ) ) ;
77- return ;
78+ std :: process :: exit ( 1 ) ;
7879 }
7980
8081 if let Err ( parse_modules_error) = parse_llvm_modules ( & arguments. files ) {
8182 reporter. report_diagnostic ( "" , Diagnostic :: error ( parse_modules_error. as_str ( ) ) ) ;
82- return ;
83+ std :: process :: exit ( 1 ) ;
8384 }
8485
8586 let mut env = create_llql_environment ( ) ;
@@ -96,6 +97,7 @@ fn main() {
9697 }
9798 Command :: Error ( error_message) => {
9899 println ! ( "{}" , error_message) ;
100+ std:: process:: exit ( 1 ) ;
99101 }
100102 }
101103}
@@ -105,12 +107,12 @@ fn launch_llql_repl(arguments: &Arguments) {
105107 let files = & arguments. files ;
106108 if let Err ( error) = validate_files_paths ( files) {
107109 reporter. report_diagnostic ( "" , Diagnostic :: error ( error. as_str ( ) ) ) ;
108- return ;
110+ std :: process :: exit ( 1 ) ;
109111 }
110112
111113 if let Err ( parse_modules_error) = parse_llvm_modules ( files) {
112114 reporter. report_diagnostic ( "" , Diagnostic :: error ( parse_modules_error. as_str ( ) ) ) ;
113- return ;
115+ std :: process :: exit ( 1 ) ;
114116 }
115117
116118 let mut global_env = create_llql_environment ( ) ;
@@ -203,19 +205,19 @@ fn execute_llql_query(
203205 if tokenizer_result. is_err ( ) {
204206 let diagnostic = tokenizer_result. err ( ) . unwrap ( ) ;
205207 reporter. report_diagnostic ( & query, * diagnostic) ;
206- return ;
208+ std :: process :: exit ( 1 ) ;
207209 }
208210
209211 let tokens = tokenizer_result. ok ( ) . unwrap ( ) ;
210212 if tokens. is_empty ( ) {
211- return ;
213+ std :: process :: exit ( 1 ) ;
212214 }
213215
214216 let parser_result = parser:: parse_gql ( tokens, env) ;
215217 if parser_result. is_err ( ) {
216218 let diagnostic = parser_result. err ( ) . unwrap ( ) ;
217219 reporter. report_diagnostic ( & query, * diagnostic) ;
218- return ;
220+ std :: process :: exit ( 1 ) ;
219221 }
220222
221223 let query_node = parser_result. ok ( ) . unwrap ( ) ;
@@ -229,7 +231,7 @@ fn execute_llql_query(
229231 if evaluation_result. is_err ( ) {
230232 let exception = Diagnostic :: exception ( & evaluation_result. err ( ) . unwrap ( ) ) ;
231233 reporter. report_diagnostic ( & query, exception) ;
232- return ;
234+ std :: process :: exit ( 1 ) ;
233235 }
234236
235237 // 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> {
269271 }
270272
271273 if file. ends_with ( ".ll" ) || file. ends_with ( ".bc" ) {
272- continue ;
274+ std :: process :: exit ( 1 ) ;
273275 }
274276
275277 return Err ( format ! ( "File ${} must end with LL or BC extension" , file) ) ;
0 commit comments