Consider the following classes and interfaces:

public interface Foo {
    public void method();
}
public abstract class AbstractFoo implements Foo { }
public class SomeFoo extends AbstractFoo {
    public void method() {}
}

Compile this.  Then change SomeFoo:

public class SomeFoo extends AbstractFoo {
    public void method() throws Exception {}
}

You'll get a compiler error since Foo.method() doesn't throw Exception. 
 Change Foo:

public interface Foo {
    public void method() throws Exception;
}

Information about the abstract methods inherited from Foo is apparently 
stored in AbstractFoo, so AbstractFoo now needs to be recompiled -- but 
IDEA doesn't realize this so ctrl-f9 will just give you the same 
compiler error again and again until you rebuild the entire project or 
realize there's an abstract intermediate class and recompile it manually.



_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list

Reply via email to