Update of /cvsroot/clirr/clirr/src/java/net/sf/clirr/checks
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15095/src/java/net/sf/clirr/checks
Modified Files:
FieldSetCheck.java
Log Message:
detect changes of field types (RFE #958810)
Index: FieldSetCheck.java
===================================================================
RCS file: /cvsroot/clirr/clirr/src/java/net/sf/clirr/checks/FieldSetCheck.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FieldSetCheck.java 23 May 2004 05:41:27 -0000 1.4
+++ FieldSetCheck.java 23 May 2004 07:45:37 -0000 1.5
@@ -99,6 +99,7 @@
newInCurrent[cIdx] = false;
checkForModifierChange(bField, cField, currentClass);
checkForVisibilityChange(bField, cField, currentClass);
+ checkForReturnTypeChange(bField, cField, currentClass);
}
}
@@ -118,6 +119,23 @@
// TODO: warn about constant value changes (see JLS, section 13.4.8)
}
+ private void checkForReturnTypeChange(Field bField, Field cField, JavaClass currentClass)
+ {
+ final String bSig = bField.getType().toString();
+ final String cSig = cField.getType().toString();
+ System.out.println("=====================================");
+ System.out.println("bField = " + bField);
+ System.out.println("bSig = " + bSig);
+ System.out.println("cField = " + cField);
+ System.out.println("cSig = " + cSig);
+ System.out.println("=====================================");
+ if (!bSig.equals(cSig))
+ {
+ fireDiff("Changed type of field " + bField.getName() + " from " + bSig + " to " + cSig,
+ Severity.ERROR, currentClass, bField);
+ }
+ }
+
private void checkForModifierChange(Field bField, Field cField, JavaClass clazz)
{
if (bField.isFinal() && !cField.isFinal())
|