From: Lars K?h. <lk...@us...> - 2004-05-23 07:45:48
|
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()) |