From f08cc0f6335f813ccf6fe9be0c808ea560008f7a Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Wed, 30 Jan 2019 10:48:02 +0100
Subject: [PATCH] improve treatment of empty classes

---
 .../mquat/solving/ilp/AbstractILPTransformer.java | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/jastadd-mquat-solver-ilp/src/main/java/de/tudresden/inf/st/mquat/solving/ilp/AbstractILPTransformer.java b/jastadd-mquat-solver-ilp/src/main/java/de/tudresden/inf/st/mquat/solving/ilp/AbstractILPTransformer.java
index 9be4e39..79eeed3 100644
--- a/jastadd-mquat-solver-ilp/src/main/java/de/tudresden/inf/st/mquat/solving/ilp/AbstractILPTransformer.java
+++ b/jastadd-mquat-solver-ilp/src/main/java/de/tudresden/inf/st/mquat/solving/ilp/AbstractILPTransformer.java
@@ -39,15 +39,18 @@ public class AbstractILPTransformer implements ILPTransformer {
 
     for (int clusterId : clusters.keySet()) {
 
-      ResourceClass resourceClass = new ResourceClass();
-      resourceClass.setName(new Name("class_" + clusterId));
+      if (clusters.get(clusterId).size() > 0) {
+        ResourceClass resourceClass = new ResourceClass();
+        resourceClass.setName(new Name("class_" + clusterId));
 
-      for (Resource resource : clusters.get(clusterId)) {
-        resource.setResourceClassRef(resourceClass.createRef());
-        resourceClass.addResourceRef(resource.createRef());
+        for (Resource resource : clusters.get(clusterId)) {
+          resource.setResourceClassRef(resourceClass.createRef());
+          resourceClass.addResourceRef(resource.createRef());
+        }
+
+        model.getHardwareModel().addResourceClass(resourceClass);
       }
 
-      model.getHardwareModel().addResourceClass(resourceClass);
     }
   }
 
-- 
GitLab