From 049feaf0a2ff32b4d8998e17266dd3ed6440a06e Mon Sep 17 00:00:00 2001 From: Abhinav Gupta Date: Fri, 4 Nov 2011 15:18:39 +0000 Subject: [PATCH] ICU-8854 Class defines or inherits equals() but not hashCode(). X-SVN-Rev: 30925 --- .../icu/text/CollationElementIterator.java | 5 ++++ .../core/src/com/ibm/icu/impl/CharTrie.java | 7 +++++- .../com/ibm/icu/impl/ICUResourceBundle.java | 6 +++++ .../core/src/com/ibm/icu/impl/IntTrie.java | 7 +++++- .../core/src/com/ibm/icu/impl/Trie.java | 7 +++++- .../com/ibm/icu/text/CurrencyPluralInfo.java | 5 ++++ .../core/src/com/ibm/icu/text/NFRule.java | 5 ++++ .../core/src/com/ibm/icu/text/NFRuleSet.java | 5 ++++ .../src/com/ibm/icu/text/NFSubstitution.java | 25 +++++++++++++++++++ .../icu/text/StringPrepParseException.java | 8 +++++- .../com/ibm/icu/util/StringTrieBuilder.java | 8 ++++++ .../src/com/ibm/icu/text/Transliterator.java | 5 ++++ 12 files changed, 89 insertions(+), 4 deletions(-) diff --git a/icu4j/main/classes/collate/src/com/ibm/icu/text/CollationElementIterator.java b/icu4j/main/classes/collate/src/com/ibm/icu/text/CollationElementIterator.java index 2ef8cb77fdb..230f4b43912 100644 --- a/icu4j/main/classes/collate/src/com/ibm/icu/text/CollationElementIterator.java +++ b/icu4j/main/classes/collate/src/com/ibm/icu/text/CollationElementIterator.java @@ -587,6 +587,11 @@ public final class CollationElementIterator } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } // package private constructors ------------------------------------------ diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/CharTrie.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/CharTrie.java index 4d4fb5af09a..032073a857a 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/CharTrie.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/CharTrie.java @@ -1,6 +1,6 @@ /* ****************************************************************************** -* Copyright (C) 1996-2010, International Business Machines Corporation and * +* Copyright (C) 1996-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ @@ -226,6 +226,11 @@ public class CharTrie extends Trie } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } ///CLOVER:ON // protected methods ----------------------------------------------- diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/ICUResourceBundle.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/ICUResourceBundle.java index 6eac30862ae..4440faeb4c3 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/ICUResourceBundle.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/ICUResourceBundle.java @@ -815,6 +815,12 @@ public class ICUResourceBundle extends UResourceBundle { } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } + // This method is for super class's instantiateBundle method public static UResourceBundle getBundleInstance(String baseName, String localeID, ClassLoader root, boolean disableFallback){ diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/IntTrie.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/IntTrie.java index edcf19e7364..3b2ecfad572 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/IntTrie.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/IntTrie.java @@ -1,6 +1,6 @@ /* ****************************************************************************** -* Copyright (C) 1996-2010, International Business Machines Corporation and * +* Copyright (C) 1996-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ @@ -232,6 +232,11 @@ public class IntTrie extends Trie } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } ///CLOVER:ON // protected methods ----------------------------------------------- diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/Trie.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/Trie.java index 65475eb657a..dc49ac4840e 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/Trie.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/Trie.java @@ -1,6 +1,6 @@ /* ****************************************************************************** -* Copyright (C) 1996-2010, International Business Machines Corporation and * +* Copyright (C) 1996-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ @@ -108,6 +108,11 @@ public abstract class Trie && m_dataLength_ == othertrie.m_dataLength_ && Arrays.equals(m_index_, othertrie.m_index_); } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } ///CLOVER:ON /** diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyPluralInfo.java b/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyPluralInfo.java index 6586190800e..d92753d0436 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyPluralInfo.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyPluralInfo.java @@ -218,6 +218,11 @@ public class CurrencyPluralInfo implements Cloneable, Serializable { } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } /** * Given a number, returns the keyword of the first rule that applies diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/NFRule.java b/icu4j/main/classes/core/src/com/ibm/icu/text/NFRule.java index 027db7920af..d177adbd899 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/NFRule.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/NFRule.java @@ -549,6 +549,11 @@ final class NFRule { } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } /** * Returns a textual representation of the rule. This won't diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/NFRuleSet.java b/icu4j/main/classes/core/src/com/ibm/icu/text/NFRuleSet.java index 52b282144a0..2d9e9ca056b 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/NFRuleSet.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/NFRuleSet.java @@ -311,6 +311,11 @@ final class NFRuleSet { return true; } } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } /** diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/NFSubstitution.java b/icu4j/main/classes/core/src/com/ibm/icu/text/NFSubstitution.java index 311cb85a099..b5b39dc2731 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/NFSubstitution.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/NFSubstitution.java @@ -269,6 +269,11 @@ abstract class NFSubstitution { } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } /** * Returns a textual description of the substitution @@ -715,6 +720,11 @@ class MultiplierSubstitution extends NFSubstitution { return false; } } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } //----------------------------------------------------------------------- // formatting @@ -890,6 +900,11 @@ class ModulusSubstitution extends NFSubstitution { return false; } } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } //----------------------------------------------------------------------- // formatting @@ -1566,6 +1581,11 @@ class NumeratorSubstitution extends NFSubstitution { return false; } } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } //----------------------------------------------------------------------- // formatting @@ -1770,6 +1790,11 @@ class NullSubstitution extends NFSubstitution { public boolean equals(Object that) { return super.equals(that); } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } /** * NullSubstitutions don't show up in the textual representation diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/StringPrepParseException.java b/icu4j/main/classes/core/src/com/ibm/icu/text/StringPrepParseException.java index c627472111a..2c801a47d98 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/StringPrepParseException.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/StringPrepParseException.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 2003-2010, International Business Machines Corporation and * + * Copyright (C) 2003-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -136,6 +136,12 @@ public class StringPrepParseException extends ParseException { return ((StringPrepParseException)other).error == this.error; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } + /** * Returns the position of error in the rules string * diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/StringTrieBuilder.java b/icu4j/main/classes/core/src/com/ibm/icu/util/StringTrieBuilder.java index e6955d4ba9c..6cbfd4af8f1 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/StringTrieBuilder.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/StringTrieBuilder.java @@ -622,6 +622,10 @@ public abstract class StringTrieBuilder { return true; } @Override + public int hashCode() { + return super.hashCode(); + } + @Override public int markRightEdgesFirst(int edgeNumber) { if(offset==0) { firstEdgeNumber=edgeNumber; @@ -728,6 +732,10 @@ public abstract class StringTrieBuilder { return unit==o.unit && lessThan==o.lessThan && greaterOrEqual==o.greaterOrEqual; } @Override + public int hashCode() { + return super.hashCode(); + } + @Override public int markRightEdgesFirst(int edgeNumber) { if(offset==0) { firstEdgeNumber=edgeNumber; diff --git a/icu4j/main/classes/translit/src/com/ibm/icu/text/Transliterator.java b/icu4j/main/classes/translit/src/com/ibm/icu/text/Transliterator.java index 9e424d20feb..74a6edcb7b6 100644 --- a/icu4j/main/classes/translit/src/com/ibm/icu/text/Transliterator.java +++ b/icu4j/main/classes/translit/src/com/ibm/icu/text/Transliterator.java @@ -369,6 +369,11 @@ public abstract class Transliterator implements StringTransform { } return false; } + + public int hashCode() { + assert false : "hashCode not designed"; + return 42; + } /** * Returns a string representation of this Position. -- 2.40.0