[Clirr-devel] CVS: clirr/core/src/java/net/sf/clirr/core/internal/checks InterfaceSetCheck.java,1.2,
Status: Alpha
Brought to you by:
lkuehne
|
From: Simon K. <s_k...@us...> - 2004-07-16 10:17:02
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/checks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11612 Modified Files: InterfaceSetCheck.java Log Message: Use new getSeverity method to suppress ERRORs for package & private diffs. Added some TODO comments. Wrapped some overly-long lines. Index: InterfaceSetCheck.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/checks/InterfaceSetCheck.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- InterfaceSetCheck.java 11 Jul 2004 10:33:50 -0000 1.2 +++ InterfaceSetCheck.java 16 Jul 2004 10:16:50 -0000 1.3 @@ -36,7 +36,9 @@ * * @author lkuehne */ -public final class InterfaceSetCheck extends AbstractDiffReporter implements ClassChangeCheck +public final class InterfaceSetCheck + extends AbstractDiffReporter + implements ClassChangeCheck { private static final Message MSG_IFACE_ADDED = new Message(4000); private static final Message MSG_IFACE_REMOVED = new Message(4001); @@ -63,7 +65,8 @@ final String className = compatBaseline.getClassName(); - CoIterator iter = new CoIterator(JavaClassNameComparator.COMPARATOR, compat, current); + CoIterator iter = new CoIterator( + JavaClassNameComparator.COMPARATOR, compat, current); while (iter.hasNext()) { @@ -72,7 +75,8 @@ JavaClass compatInterface = (JavaClass) iter.getLeft(); JavaClass currentInterface = (JavaClass) iter.getRight(); - if (className.equals(compatInterface.getClassName()) || className.equals(currentInterface.getClassName())) + if (className.equals(compatInterface.getClassName()) + || className.equals(currentInterface.getClassName())) { // This occurs because an interface has itself in the set of all interfaces. // We can't just let the test below handle this case because that won't @@ -82,11 +86,24 @@ if (compatInterface == null) { - log(MSG_IFACE_ADDED, Severity.INFO, className, null, null, new String[]{currentInterface.getClassName()}); + // TODO: check whether the class already implements + // throwable. If so, this should probably be a warning, + // because the presence of this extra interface could + // change exception-catching behaviour. + // + // Actually, it could also change code which uses + // "instance-of" and similar methods too, even when not + // a throwable. However this is fairly low probability.. + log(MSG_IFACE_ADDED, + Severity.INFO, className, null, null, + new String[] {currentInterface.getClassName()}); } else if (currentInterface == null) { - log(MSG_IFACE_REMOVED, Severity.ERROR, className, null, null, new String[]{compatInterface.getClassName()}); + log(MSG_IFACE_REMOVED, + getSeverity(compatBaseline, Severity.ERROR), + className, null, null, + new String[] {compatInterface.getClassName()}); } } |