From af757561bbd1ffde1f1d4ecbc9051463dc7e1770 Mon Sep 17 00:00:00 2001 From: simon Date: Thu, 4 Jul 2024 18:13:28 +0200 Subject: [PATCH] throw exception when exception map is not empty --- src/main/java/de/maishai/Compiler.java | 15 ++++++++------- .../maishai/typedast/typedclass/TypedProgram.java | 6 +++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/maishai/Compiler.java b/src/main/java/de/maishai/Compiler.java index fcdb805..caa5866 100644 --- a/src/main/java/de/maishai/Compiler.java +++ b/src/main/java/de/maishai/Compiler.java @@ -70,7 +70,7 @@ public class Compiler { return generateAST(sources); } - public static TypedProgram generateTypedASTFromAst(Program ast) { + public static TypedProgram generateTypedASTFromAst(Program ast) throws IllegalArgumentException { return new TypedProgram(ast); } @@ -80,21 +80,22 @@ public class Compiler { public static List generateByteCodeArrayFromFiles(List sourcePaths) { Program program = generateASTFromFiles(sourcePaths); - TypedProgram typedAST = generateTypedASTFromAst(program); + TypedProgram typedAST; + typedAST = generateTypedASTFromAst(program); List byteCode = new ArrayList<>(); - if(TypedProgram.EXCEPTIONS.isEmpty()){ + if (TypedProgram.EXCEPTIONS.isEmpty()) { for (TypedClass c : typedAST.getTypedClasses()) { byteCode.add(generateByteCodeArrayFromTypedAst(c)); } return byteCode; - }else{ + } else { return Collections.emptyList(); } } public static void generateByteCodeFilesFromFiles(List sourcePaths) { List bytes = generateByteCodeArrayFromFiles(sourcePaths); - if(bytes.isEmpty()){ + if (bytes.isEmpty()) { return; } for (int i = 0; i < bytes.size(); i++) { @@ -118,8 +119,8 @@ public class Compiler { if (cmd.hasOption("debug")) { Logger rootLog = Logger.getLogger(""); - rootLog.setLevel( Level.FINEST ); - rootLog.getHandlers()[0].setLevel( Level.FINEST ); + rootLog.setLevel(Level.FINEST); + rootLog.getHandlers()[0].setLevel(Level.FINEST); Formatter logFormatter = new LogFormatter(); for (Handler handler : rootLog.getHandlers()) { handler.setFormatter(logFormatter); diff --git a/src/main/java/de/maishai/typedast/typedclass/TypedProgram.java b/src/main/java/de/maishai/typedast/typedclass/TypedProgram.java index a1f5cf1..78c2168 100644 --- a/src/main/java/de/maishai/typedast/typedclass/TypedProgram.java +++ b/src/main/java/de/maishai/typedast/typedclass/TypedProgram.java @@ -17,11 +17,11 @@ public class TypedProgram { public static Map EXCEPTIONS = new HashMap<>(); private TypedClass currentClass; - public TypedProgram(Program program) { + public TypedProgram(Program program) throws IllegalArgumentException { startConversion(program); } - public void startConversion(Program program) { + public void startConversion(Program program) throws IllegalArgumentException { // Initialisiere die Klassen nur mit den Klassennamen und deren Typ for (var clas : program.classes()) { @@ -61,7 +61,7 @@ public class TypedProgram { ); counter++; } - throw new RuntimeException(stringBuilder.toString()); + throw new IllegalArgumentException(stringBuilder.toString()); } }