]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EBlock.java
(refs #7278, refs #7279) Small fixes to InternalCompilerExceptions
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / EBlock.java
index a509616bbb4bf669e08e1ece55584d58355309a3..2c70bd90742ef6562d8c9f141bd705838264dc82 100644 (file)
@@ -3,7 +3,6 @@ package org.simantics.scl.compiler.elaboration.expressions;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;
 import org.simantics.scl.compiler.elaboration.chr.CHRRuleset;
 import org.simantics.scl.compiler.elaboration.chr.translation.CHRTranslation;
 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
@@ -47,8 +46,10 @@ public class EBlock extends ASTExpression {
 
     @Override
     public Expression resolve(TranslationContext context) {
-        if(statements.isEmpty())
-            throw new InternalCompilerError();
+        if(statements.isEmpty()) {
+            context.getErrorLog().log(location, "Block should not be empty.");
+            return new EError(location);
+        }
         int i = statements.size()-1;
         Statement last = statements.get(i);
         if(!(last instanceof GuardStatement)) {