Generalize definition of SumExpr a little...Lets sum all elements of
[repair.git] / Repair / RepairCompiler / MCC / IR / SimpleIRErrorReporter.java
index 3c64101e9494561700e5c9bd6414d51468ea202e..11e8db33bf87e5436841f98dad323e0e2fb2627d 100755 (executable)
@@ -25,7 +25,7 @@ public class SimpleIRErrorReporter implements IRErrorReporter {
        LinedMessage sem = new LinedMessage();
        sem.error = true;
        sem.pn = v;
-       sem.message = s;
+       sem.message = s;        
 
        add(sem);
        
@@ -42,8 +42,24 @@ public class SimpleIRErrorReporter implements IRErrorReporter {
        add(sem);
     }
 
+
+    private boolean messageExists(LinedMessage sem) {
+       for (int i = 0; i < messages.size(); i++) {
+           
+           LinedMessage cur = (LinedMessage) messages.elementAt(i);
+           
+           if (cur.message.equals(sem.message))
+               return true;
+       }
+       return false;
+    }
+    
+
     private void add(LinedMessage sem) {
 
+       if (messageExists(sem)) 
+           return;
+
        if (sem.pn == null) {
            messages.addElement(sem);
            return;
@@ -68,15 +84,15 @@ public class SimpleIRErrorReporter implements IRErrorReporter {
        for (int i = 0; i < messages.size(); i++) {
            LinedMessage sem = (LinedMessage)messages.elementAt(i);
            if (sem.error) {
-               output += "error";
+               output += "Semantic Error";
            } else {
-               output += "warning";
+               output += "Semantic Warning";
            }
 
            if (sem.pn != null) {
-               output += " (" + filename + sem.pn.getLine() + "): ";
+               output += ": " + filename + ": "+sem.pn.getLine() + ": ";
            } else {
-                output += " : ";
+                output += ": ";
             }
 
            output += sem.message;