You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by pe...@apache.org on 2004/05/17 15:30:17 UTC
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs MacroDef.java
peterreilly 2004/05/17 06:30:17
Modified: src/main/org/apache/tools/ant/taskdefs MacroDef.java
Log:
Fix use of hashcode in MacroDef
Logger code uses the macrodef as a key in a map before it is fully
configured so the hashcode had changed while the object was
in the map
PR: 28993
Obtained from: Jesse Glick
Revision Changes Path
1.25 +8 -15 ant/src/main/org/apache/tools/ant/taskdefs/MacroDef.java
Index: MacroDef.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/MacroDef.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- MacroDef.java 9 Mar 2004 16:48:06 -0000 1.24
+++ MacroDef.java 17 May 2004 13:30:17 -0000 1.25
@@ -596,13 +596,17 @@
}
/**
- * equality method for macrodef, ignores project and
+ * similar equality method for macrodef, ignores project and
* runtime info.
*
* @param obj an <code>Object</code> value
* @return a <code>boolean</code> value
*/
- public boolean equals(Object obj) {
+ public boolean similar(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+
if (obj == null) {
return false;
}
@@ -650,17 +654,6 @@
}
/**
- * @return a hash code value for this object.
- */
- public int hashCode() {
- return objectHashCode(name)
- + objectHashCode(getURI())
- + objectHashCode(nestedSequential)
- + objectHashCode(attributes)
- + objectHashCode(elements);
- }
-
- /**
* extends AntTypeDefinition, on create
* of the object, the template macro definition
* is given.
@@ -704,7 +697,7 @@
return false;
}
MyAntTypeDefinition otherDef = (MyAntTypeDefinition) other;
- return macroDef.equals(otherDef.macroDef);
+ return macroDef.similar(otherDef.macroDef);
}
/**
@@ -720,7 +713,7 @@
return false;
}
MyAntTypeDefinition otherDef = (MyAntTypeDefinition) other;
- return macroDef.equals(otherDef.macroDef);
+ return macroDef.similar(otherDef.macroDef);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org