1414import liquidjava .diagnostics .Diagnostics ;
1515import liquidjava .diagnostics .ErrorPosition ;
1616import liquidjava .diagnostics .LJDiagnostic ;
17+ import liquidjava .diagnostics .errors .CustomError ;
1718import liquidjava .diagnostics .errors .LJError ;
1819import liquidjava .diagnostics .warnings .LJWarning ;
1920import utils .PathUtils ;
@@ -31,19 +32,25 @@ public class LJDiagnosticsHandler {
3132 public static LJDiagnostics getLJDiagnostics (String path ) {
3233 List <LJError > errors = new ArrayList <>();
3334 List <LJWarning > warnings = new ArrayList <>();
34-
35- CommandLineLauncher .launch (path );
36- Diagnostics diagnostics = Diagnostics .getInstance ();
37- if (diagnostics .foundWarning ()) {
38- warnings .addAll (diagnostics .getWarnings ());
35+ try {
36+ CommandLineLauncher .launch (path );
37+ Diagnostics diagnostics = Diagnostics .getInstance ();
38+ if (diagnostics .foundWarning ()) {
39+ warnings .addAll (diagnostics .getWarnings ());
40+ }
41+ if (diagnostics .foundError ()) {
42+ System .out .println ("Failed verification" );
43+ errors .addAll (diagnostics .getErrors ());
44+ } else {
45+ System .out .println ("Passed verification" );
46+ }
47+ return new LJDiagnostics (errors , warnings );
48+ } catch (Exception e ) {
49+ System .err .println ("LiquidJava verifier exception: " + e .getMessage ());
50+ e .printStackTrace ();
51+ errors .add (new CustomError ("LiquidJava verification failed, check for Java errors" ));
52+ return new LJDiagnostics (errors , warnings );
3953 }
40- if (diagnostics .foundError ()) {
41- System .out .println ("Failed verification" );
42- errors .addAll (diagnostics .getErrors ());
43- } else {
44- System .out .println ("Passed verification" );
45- }
46- return new LJDiagnostics (errors , warnings );
4754 }
4855
4956 /**
0 commit comments