]> source.dussan.org Git - aspectj.git/commitdiff
implement binary-incompatible API for detecting whether any warnings exist, to enable...
authorwisberg <wisberg>
Mon, 5 May 2003 15:18:01 +0000 (15:18 +0000)
committerwisberg <wisberg>
Mon, 5 May 2003 15:18:01 +0000 (15:18 +0000)
ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java
ajde/testsrc/org/aspectj/ajde/NullIdeTaskListManager.java

index 5324e50bcebe15e0c5b4c633a8626f34afff2930..46a162c1ed6d3222cf680c39f30cc98b747e1e43 100644 (file)
@@ -45,6 +45,7 @@ public class CompilerMessagesPanel extends JPanel implements TaskListManager {
     private JList list = new JList();
     private DefaultListModel listModel = new DefaultListModel();
     private BorderLayout borderLayout1 = new BorderLayout();
+    private boolean hasWarning = false;
 
     public CompilerMessagesPanel() {
         try {
@@ -94,15 +95,25 @@ public class CompilerMessagesPanel extends JPanel implements TaskListManager {
 
     public void addSourcelineTask(IMessage message) {   
         listModel.addElement(new CompilerMessage(message));
+        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(message.getKind())) {
+            hasWarning = true;
+        }
         BrowserManager.getDefault().showMessages();
     }
 
     public void addProjectTask(String message, IMessage.Kind kind) {
         IMessage m = new Message(message, kind, null, null);
                listModel.addElement(new CompilerMessage(m));
+        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(kind)) {
+            hasWarning = true;
+        }
                BrowserManager.getDefault().showMessages();
        }
 
+    public boolean hasWarning() {
+        return hasWarning;
+    }
+    
     public void clearTasks() {
         listModel.clear();
     }
index 2664088bf8303eca69b023e7d3ae4ac2c7d3ab0f..3647a33fa17d3cc5b157381a97549665d1616ef9 100644 (file)
@@ -26,26 +26,41 @@ import org.aspectj.bridge.*;
 public class NullIdeTaskListManager implements TaskListManager {
        
        List sourceLineTasks = new ArrayList();
+    boolean hasWarning = false;
 
     public void addSourcelineTask(
         String message,
         ISourceLocation sourceLocation,
         IMessage.Kind kind) {
         addSourcelineTask(new Message(message, kind, null, sourceLocation));
+        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(kind)) {
+            hasWarning = true;
+        }
     }
     
     public void addSourcelineTask(IMessage message) {
        sourceLineTasks.add(new SourceLineTask(message));
+        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(message.getKind())) {
+            hasWarning = true;
+        }
 //     System.out.println("> added sourceline task: " + message + ", file: " + sourceLocation.getSourceFile().getAbsolutePath()
 //             + ": " +  sourceLocation.getLine());
     }
    
     public void addProjectTask(String message, IMessage.Kind kind) {
+        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(kind)) {
+            hasWarning = true;
+        }
 //     System.out.println("> added project task: " + message + ", kind: " + kind);     
     }
 
+    public boolean hasWarning() {
+        return hasWarning;
+    }
+    
     public void clearTasks() {
        sourceLineTasks = new ArrayList();
+        hasWarning = false;
 //     System.out.println("> cleared tasks");
     }