ICU-20150 API status of equals()/hashCode() should match the ICU class's status ...
authorYoshito Umaoka <yumaoka@users.noreply.github.com>
Wed, 19 Sep 2018 23:02:49 +0000 (19:02 -0400)
committerShane Carr <shane@unicode.org>
Thu, 27 Sep 2018 21:27:41 +0000 (14:27 -0700)
commit24b490dc0275ee1a45b2224ea022313b44d6aeaa
tree80ac53c6b356977e647b9efc0f1084f4677035b2
parente22adb02d2b90743b87c77e6972de58c45118ba6
ICU-20150 API status of equals()/hashCode() should match the ICU class's status (#153)

- Updated API status of java.lang.Object method overrides (equals/hashCode/toString/clone) to match status of declaring class. There are some API comments that is insufficient, or incorrect, or not appropriate after the change. Most of these issues were fixed.

- APIStatusConsistencyChecker and ant tasks invoking the check, designed for checking this requirement. For now, Normalizer#clone() does not satisfy the requirement, but unchanged on purpose. The tool can accept exception.

- DeprecatedAPIChecker had a problem for handling non-static inner class's constructor. CodePointMap$StringIterator is the very first instance of such class in ICU4J. The problem was fixed by removing the implicit param scanned by reflection.

- This commit includes a lot of changes made by Eclipse project configuration - removing spaces in blank lines/end of statement, and removeal of redundant generics type declaration.
27 files changed:
icu4j/build.xml
icu4j/main/classes/collate/src/com/ibm/icu/text/CollationElementIterator.java
icu4j/main/classes/collate/src/com/ibm/icu/text/Collator.java
icu4j/main/classes/core/src/com/ibm/icu/lang/CharacterProperties.java
icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
icu4j/main/classes/core/src/com/ibm/icu/number/Precision.java
icu4j/main/classes/core/src/com/ibm/icu/number/ScientificNotation.java
icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyPluralInfo.java
icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalInfo.java
icu4j/main/classes/core/src/com/ibm/icu/text/Edits.java
icu4j/main/classes/core/src/com/ibm/icu/text/MeasureFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
icu4j/main/classes/core/src/com/ibm/icu/text/RuleBasedNumberFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
icu4j/main/classes/core/src/com/ibm/icu/text/StringPrepParseException.java
icu4j/main/classes/core/src/com/ibm/icu/text/TimeUnitFormat.java
icu4j/main/classes/core/src/com/ibm/icu/util/ByteArrayWrapper.java
icu4j/main/classes/core/src/com/ibm/icu/util/CaseInsensitiveString.java
icu4j/main/classes/core/src/com/ibm/icu/util/CodePointMap.java
icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
icu4j/main/classes/core/src/com/ibm/icu/util/SimpleTimeZone.java
icu4j/main/classes/core/src/com/ibm/icu/util/TimeZone.java
icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
icu4j/main/classes/core/src/com/ibm/icu/util/VersionInfo.java
icu4j/main/classes/translit/src/com/ibm/icu/text/Transliterator.java
icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIStatusConsistencyChecker.java [new file with mode: 0644]
icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/DeprecatedAPIChecker.java