From 0ba03b96639b52fd562d531dd7d5fffb84ad1e02 Mon Sep 17 00:00:00 2001 From: Yoshito Umaoka Date: Wed, 6 Nov 2013 20:52:01 +0000 Subject: [PATCH] ICU-10396 Updated ICU4J API report tools to support enum constants and generics. Added the API signature files generated with the new code back to ICU 4.8, and deleted old API signature files. X-SVN-Rev: 34643 --- .gitattributes | 27 +----- icu4j/build.xml | 8 +- icu4j/tools/build/icu4j28.api.gz | 3 - icu4j/tools/build/icu4j30.api.gz | 3 - icu4j/tools/build/icu4j32.api.gz | 3 - icu4j/tools/build/icu4j34.api.gz | 3 - icu4j/tools/build/icu4j341.api.gz | 3 - icu4j/tools/build/icu4j342.api.gz | 3 - icu4j/tools/build/icu4j343.api.gz | 3 - icu4j/tools/build/icu4j36.api.gz | 3 - icu4j/tools/build/icu4j38.api.gz | 3 - icu4j/tools/build/icu4j381.api.gz | 3 - icu4j/tools/build/icu4j400.api.gz | 3 - icu4j/tools/build/icu4j401.api.gz | 3 - icu4j/tools/build/icu4j42.api.gz | 3 - icu4j/tools/build/icu4j421.api.gz | 3 - icu4j/tools/build/icu4j44.api.gz | 3 - icu4j/tools/build/icu4j44.api2.gz | 3 - icu4j/tools/build/icu4j46.api2.gz | 3 - icu4j/tools/build/icu4j48.api2.gz | 3 - icu4j/tools/build/icu4j48.api3.gz | 3 + icu4j/tools/build/icu4j49.api2.gz | 3 - icu4j/tools/build/icu4j49.api3.gz | 3 + icu4j/tools/build/icu4j50.api2.gz | 3 - icu4j/tools/build/icu4j50.api3.gz | 3 + icu4j/tools/build/icu4j51.api2.gz | 3 - icu4j/tools/build/icu4j51.api3.gz | 3 + icu4j/tools/build/icu4j52.api2.gz | 3 - icu4j/tools/build/icu4j52.api3.gz | 3 + .../com/ibm/icu/dev/tool/docs/APIData.java | 4 +- .../com/ibm/icu/dev/tool/docs/APIInfo.java | 94 ++++++++++++++----- .../ibm/icu/dev/tool/docs/GatherAPIData.java | 15 ++- .../com/ibm/icu/dev/tool/docs/ReportAPI.java | 4 +- 33 files changed, 107 insertions(+), 126 deletions(-) delete mode 100644 icu4j/tools/build/icu4j28.api.gz delete mode 100644 icu4j/tools/build/icu4j30.api.gz delete mode 100644 icu4j/tools/build/icu4j32.api.gz delete mode 100644 icu4j/tools/build/icu4j34.api.gz delete mode 100644 icu4j/tools/build/icu4j341.api.gz delete mode 100644 icu4j/tools/build/icu4j342.api.gz delete mode 100644 icu4j/tools/build/icu4j343.api.gz delete mode 100644 icu4j/tools/build/icu4j36.api.gz delete mode 100644 icu4j/tools/build/icu4j38.api.gz delete mode 100644 icu4j/tools/build/icu4j381.api.gz delete mode 100644 icu4j/tools/build/icu4j400.api.gz delete mode 100644 icu4j/tools/build/icu4j401.api.gz delete mode 100644 icu4j/tools/build/icu4j42.api.gz delete mode 100644 icu4j/tools/build/icu4j421.api.gz delete mode 100644 icu4j/tools/build/icu4j44.api.gz delete mode 100644 icu4j/tools/build/icu4j44.api2.gz delete mode 100644 icu4j/tools/build/icu4j46.api2.gz delete mode 100644 icu4j/tools/build/icu4j48.api2.gz create mode 100644 icu4j/tools/build/icu4j48.api3.gz delete mode 100644 icu4j/tools/build/icu4j49.api2.gz create mode 100644 icu4j/tools/build/icu4j49.api3.gz delete mode 100644 icu4j/tools/build/icu4j50.api2.gz create mode 100644 icu4j/tools/build/icu4j50.api3.gz delete mode 100644 icu4j/tools/build/icu4j51.api2.gz create mode 100644 icu4j/tools/build/icu4j51.api3.gz delete mode 100644 icu4j/tools/build/icu4j52.api2.gz create mode 100644 icu4j/tools/build/icu4j52.api3.gz diff --git a/.gitattributes b/.gitattributes index f1a7b73726b..be7e240b874 100644 --- a/.gitattributes +++ b/.gitattributes @@ -588,28 +588,11 @@ icu4j/samples/src/com/ibm/icu/samples/iuc/data/reshello/mt.res -text icu4j/samples/src/com/ibm/icu/samples/iuc/data/reshello/res_index.res -text icu4j/samples/src/com/ibm/icu/samples/iuc/data/reshello/root.res -text icu4j/tools/build/.settings/org.eclipse.core.resources.prefs -text -icu4j/tools/build/icu4j28.api.gz -text -icu4j/tools/build/icu4j30.api.gz -text -icu4j/tools/build/icu4j32.api.gz -text -icu4j/tools/build/icu4j34.api.gz -text -icu4j/tools/build/icu4j341.api.gz -text -icu4j/tools/build/icu4j342.api.gz -text -icu4j/tools/build/icu4j343.api.gz -text -icu4j/tools/build/icu4j36.api.gz -text -icu4j/tools/build/icu4j38.api.gz -text -icu4j/tools/build/icu4j381.api.gz -text -icu4j/tools/build/icu4j400.api.gz -text -icu4j/tools/build/icu4j401.api.gz -text -icu4j/tools/build/icu4j42.api.gz -text -icu4j/tools/build/icu4j421.api.gz -text -icu4j/tools/build/icu4j44.api.gz -text -icu4j/tools/build/icu4j44.api2.gz -text -icu4j/tools/build/icu4j46.api2.gz -text -icu4j/tools/build/icu4j48.api2.gz -text -icu4j/tools/build/icu4j49.api2.gz -text -icu4j/tools/build/icu4j50.api2.gz -text -icu4j/tools/build/icu4j51.api2.gz -text -icu4j/tools/build/icu4j52.api2.gz -text +icu4j/tools/build/icu4j48.api3.gz -text +icu4j/tools/build/icu4j49.api3.gz -text +icu4j/tools/build/icu4j50.api3.gz -text +icu4j/tools/build/icu4j51.api3.gz -text +icu4j/tools/build/icu4j52.api3.gz -text icu4j/tools/build/manifest.stub -text icu4j/tools/misc/.settings/org.eclipse.core.resources.prefs -text icu4j/tools/misc/manifest.stub -text diff --git a/icu4j/build.xml b/icu4j/build.xml index 0eda2604d5c..4088feed999 100644 --- a/icu4j/build.xml +++ b/icu4j/build.xml @@ -996,7 +996,7 @@ - + @@ -1009,9 +1009,9 @@ classpath="${icu4j.build-tools.jar}" failonerror="true"> - + - + @@ -1070,7 +1070,7 @@ - + diff --git a/icu4j/tools/build/icu4j28.api.gz b/icu4j/tools/build/icu4j28.api.gz deleted file mode 100644 index d95f52c360e..00000000000 --- a/icu4j/tools/build/icu4j28.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:772a1e5195bbdcd2ac5fdf7153af71ca0a9dd934118bfbdb17a4388c4e3af6da -size 19566 diff --git a/icu4j/tools/build/icu4j30.api.gz b/icu4j/tools/build/icu4j30.api.gz deleted file mode 100644 index e99db1af403..00000000000 --- a/icu4j/tools/build/icu4j30.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d79fcac17e325a019a52ffdfb8e1fdd8eca4079faf05149a8710751d77934a73 -size 20672 diff --git a/icu4j/tools/build/icu4j32.api.gz b/icu4j/tools/build/icu4j32.api.gz deleted file mode 100644 index 9099c010d95..00000000000 --- a/icu4j/tools/build/icu4j32.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:535e05f6624f372fd241b1f2e5d4feb90ccff5fdaf732eb0df52acac9f5d1f29 -size 21416 diff --git a/icu4j/tools/build/icu4j34.api.gz b/icu4j/tools/build/icu4j34.api.gz deleted file mode 100644 index dec27d2aebe..00000000000 --- a/icu4j/tools/build/icu4j34.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f807843ac5fb8b32a9b7f13a89779d3aa712521a9c35d23c2352bc7835ee9050 -size 23103 diff --git a/icu4j/tools/build/icu4j341.api.gz b/icu4j/tools/build/icu4j341.api.gz deleted file mode 100644 index d472615a9c8..00000000000 --- a/icu4j/tools/build/icu4j341.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:044f24883f55361bf4d78e63191f1600d64453b7405f93978fbe63a5722fe1b3 -size 23106 diff --git a/icu4j/tools/build/icu4j342.api.gz b/icu4j/tools/build/icu4j342.api.gz deleted file mode 100644 index e7c97411d3c..00000000000 --- a/icu4j/tools/build/icu4j342.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f76f514fd1344a4216b240345dbf1e93625e7a3c9f40c9e75939954c19526462 -size 23134 diff --git a/icu4j/tools/build/icu4j343.api.gz b/icu4j/tools/build/icu4j343.api.gz deleted file mode 100644 index d0dad8f6159..00000000000 --- a/icu4j/tools/build/icu4j343.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3af60a55b9cdc943952832f7a142eaeac21c51d4b16fb2cf977244553248fd08 -size 23132 diff --git a/icu4j/tools/build/icu4j36.api.gz b/icu4j/tools/build/icu4j36.api.gz deleted file mode 100644 index b8895dca9ba..00000000000 --- a/icu4j/tools/build/icu4j36.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2a384467160d3d30872209c1b60eeaa233365d7a25d637218e580f740fbce45 -size 26926 diff --git a/icu4j/tools/build/icu4j38.api.gz b/icu4j/tools/build/icu4j38.api.gz deleted file mode 100644 index ebb90d11225..00000000000 --- a/icu4j/tools/build/icu4j38.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:db98896cfc89946ae3a58c1c36c1bba9ca44bc0814cc6592d1b665cf9839344f -size 30589 diff --git a/icu4j/tools/build/icu4j381.api.gz b/icu4j/tools/build/icu4j381.api.gz deleted file mode 100644 index b5d67182eb3..00000000000 --- a/icu4j/tools/build/icu4j381.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c59f72974592ea9bd43564f9018904a362a1692aa431164548c7cb758d06c55 -size 30708 diff --git a/icu4j/tools/build/icu4j400.api.gz b/icu4j/tools/build/icu4j400.api.gz deleted file mode 100644 index f4e7a4028a5..00000000000 --- a/icu4j/tools/build/icu4j400.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b04f969c3f732686089229e08fbb3187e363a456311ab011c4e9555d003c97d -size 32245 diff --git a/icu4j/tools/build/icu4j401.api.gz b/icu4j/tools/build/icu4j401.api.gz deleted file mode 100644 index 0939969d38d..00000000000 --- a/icu4j/tools/build/icu4j401.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7cc77b7302c1258e5ca116a37061a10b0f3a7f1810213b48b5c7df25c193764e -size 32248 diff --git a/icu4j/tools/build/icu4j42.api.gz b/icu4j/tools/build/icu4j42.api.gz deleted file mode 100644 index 668260491a9..00000000000 --- a/icu4j/tools/build/icu4j42.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ca8be4f31d1245ef194629faa635726407178b0e3c03cdb1acfecfd14fa477a -size 33596 diff --git a/icu4j/tools/build/icu4j421.api.gz b/icu4j/tools/build/icu4j421.api.gz deleted file mode 100644 index 5bcf6053a69..00000000000 --- a/icu4j/tools/build/icu4j421.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72b71094b20d55c82d680b99b7a1f380198c003d45b56068798a2ed7aaed2522 -size 33598 diff --git a/icu4j/tools/build/icu4j44.api.gz b/icu4j/tools/build/icu4j44.api.gz deleted file mode 100644 index 2b3e2c422d1..00000000000 --- a/icu4j/tools/build/icu4j44.api.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f064a693acf1517cd89add3d3dff79284ace6d7e6cf8a5eb2ca2698cab192fcf -size 36216 diff --git a/icu4j/tools/build/icu4j44.api2.gz b/icu4j/tools/build/icu4j44.api2.gz deleted file mode 100644 index e68cfd91677..00000000000 --- a/icu4j/tools/build/icu4j44.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6db852067ffdd486e8b114ec12babfd9b794c04e3a8136cf2a8abec8e764ec6 -size 35967 diff --git a/icu4j/tools/build/icu4j46.api2.gz b/icu4j/tools/build/icu4j46.api2.gz deleted file mode 100644 index 2e49020e239..00000000000 --- a/icu4j/tools/build/icu4j46.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff116d85ce08fa4d080898ea2f8c4fa7fab06f1dab745dba5c76d8509f9ee7bb -size 39962 diff --git a/icu4j/tools/build/icu4j48.api2.gz b/icu4j/tools/build/icu4j48.api2.gz deleted file mode 100644 index 184e554e693..00000000000 --- a/icu4j/tools/build/icu4j48.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a1756e0f5d18689bef0e08700aaa33c722f2145908c0638f3d6bce23c6cbd5d -size 42998 diff --git a/icu4j/tools/build/icu4j48.api3.gz b/icu4j/tools/build/icu4j48.api3.gz new file mode 100644 index 00000000000..369ea0a975d --- /dev/null +++ b/icu4j/tools/build/icu4j48.api3.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d272c31e708adcc17544a7a3113436624ad9ed4fca304ac2b0b1565290f0b799 +size 44040 diff --git a/icu4j/tools/build/icu4j49.api2.gz b/icu4j/tools/build/icu4j49.api2.gz deleted file mode 100644 index cc092f8afdb..00000000000 --- a/icu4j/tools/build/icu4j49.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0703dff2fb02a5b6808fbb355548d96cded33c351282aed5a82a1e3926cb862a -size 44852 diff --git a/icu4j/tools/build/icu4j49.api3.gz b/icu4j/tools/build/icu4j49.api3.gz new file mode 100644 index 00000000000..470853b4b69 --- /dev/null +++ b/icu4j/tools/build/icu4j49.api3.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e6d5a58f28906fbe9d3c51b03c040ac0d98b140067e118e764e7e97db08cbd9 +size 46314 diff --git a/icu4j/tools/build/icu4j50.api2.gz b/icu4j/tools/build/icu4j50.api2.gz deleted file mode 100644 index 5f9592ef522..00000000000 --- a/icu4j/tools/build/icu4j50.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d42ac8df49b0f206fc95a87fa7981ea47950fa126cb97ebd617936bd228e7de -size 45209 diff --git a/icu4j/tools/build/icu4j50.api3.gz b/icu4j/tools/build/icu4j50.api3.gz new file mode 100644 index 00000000000..8124c4423b0 --- /dev/null +++ b/icu4j/tools/build/icu4j50.api3.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81885b27524422574be17a496dee260fdd67463fd81e33d6a9620bcd83cad2b0 +size 46745 diff --git a/icu4j/tools/build/icu4j51.api2.gz b/icu4j/tools/build/icu4j51.api2.gz deleted file mode 100644 index c2fbb00c38b..00000000000 --- a/icu4j/tools/build/icu4j51.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9123db86ebf82488fbf3433f1a3ec947c31dfed7ff2e106146e459b45e3a10b -size 45752 diff --git a/icu4j/tools/build/icu4j51.api3.gz b/icu4j/tools/build/icu4j51.api3.gz new file mode 100644 index 00000000000..75eda276785 --- /dev/null +++ b/icu4j/tools/build/icu4j51.api3.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56e70bfc577dde6d3bea8e0d3ffd7fb77f776c2f7cce5dec197a652e27ab732b +size 47569 diff --git a/icu4j/tools/build/icu4j52.api2.gz b/icu4j/tools/build/icu4j52.api2.gz deleted file mode 100644 index 1b391b79a3a..00000000000 --- a/icu4j/tools/build/icu4j52.api2.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e5d77dd10547e6cc26ea345b5e816c809068d70e4397470c8a5bf92f5997d89 -size 47776 diff --git a/icu4j/tools/build/icu4j52.api3.gz b/icu4j/tools/build/icu4j52.api3.gz new file mode 100644 index 00000000000..814794a5383 --- /dev/null +++ b/icu4j/tools/build/icu4j52.api3.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f854140b68580ba8a0c836b6f6f29ec08904aa3d60a6a8f4433a8fe0a931bca +size 49836 diff --git a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIData.java b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIData.java index 2c59d1a6d2b..7612a91b605 100644 --- a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIData.java +++ b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIData.java @@ -1,6 +1,6 @@ /** ******************************************************************************* -* Copyright (C) 2004-2010, International Business Machines Corporation and * +* Copyright (C) 2004-2013, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -141,7 +141,7 @@ public final class APIData { boolean internal = false; String path = "src/com/ibm/icu/dev/tool/docs/"; - String fn = "icu4j341.api.gz"; + String fn = "icu4j52.api3.gz"; if (args.length == 0) { args = new String[] { "-file", fn }; } diff --git a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIInfo.java b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIInfo.java index 75083c15133..e8a6eef9db0 100644 --- a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIInfo.java +++ b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/APIInfo.java @@ -33,7 +33,7 @@ class APIInfo { public static final int SYN = 4, SYN_SYNCHRONIZED = 1; public static final int ABS = 5, ABS_ABSTRACT = 1; public static final int CAT = 6, CAT_CLASS = 0, CAT_FIELD = 1, CAT_CONSTRUCTOR = 2, - CAT_METHOD = 3; + CAT_METHOD = 3, CAT_ENUM = 4, CAT_ENUM_CONSTANT = 5; public static final int PAK = 7; public static final int CLS = 8; public static final int NAM = 9; @@ -42,7 +42,7 @@ class APIInfo { public static final int NUM_TYPES = 11; // the separator between tokens in the data file - public int[] masks = { 0x7, 0x3, 0x1, 0x1, 0x1, 0x1, 0x3 }; + public int[] masks = { 0x7, 0x3, 0x1, 0x1, 0x1, 0x1, 0x7 }; public int[] shifts = { 0, 3, 5, 6, 7, 8, 9 }; public static final char SEP = ';'; @@ -100,6 +100,8 @@ class APIInfo { public void setField() { setType(CAT, CAT_FIELD); } public void setConstructor() { setType(CAT, CAT_CONSTRUCTOR); } public void setMethod() { setType(CAT, CAT_METHOD); } + public void setEnum() { setType(CAT, CAT_ENUM); } + public void setEnumConstant() { setType(CAT, CAT_ENUM_CONSTANT); } public void setPackage(String val) { setType(PAK, val); } public void setClassName(String val) { setType(CLS, val); } @@ -124,6 +126,8 @@ class APIInfo { public boolean isField() { return getVal(CAT) == CAT_FIELD; } public boolean isConstructor() { return getVal(CAT) == CAT_CONSTRUCTOR; } public boolean isMethod() { return getVal(CAT) == CAT_METHOD; } + public boolean isEnum() { return getVal(CAT) == CAT_ENUM; } + public boolean isEnumConstant() { return getVal(CAT) == CAT_ENUM_CONSTANT; } public String getPackageName() { return get(PAK, true); } public String getClassName() { return get(CLS, true); } @@ -330,8 +334,8 @@ class APIInfo { APIInfo rhi = (APIInfo)rhs; int result = lhi.pack.compareTo(rhi.pack); if (result == 0) { - result = (lhi.getVal(CAT) == CAT_CLASS ? lhi.name : lhi.cls) - .compareTo(rhi.getVal(CAT) == CAT_CLASS ? rhi.name : rhi.cls); + result = (lhi.getVal(CAT) == CAT_CLASS || lhi.getVal(CAT) == CAT_ENUM ? lhi.name : lhi.cls) + .compareTo(rhi.getVal(CAT) == CAT_CLASS || rhi.getVal(CAT) == CAT_ENUM ? rhi.name : rhi.cls); if (result == 0) { result = lhi.getVal(CAT)- rhi.getVal(CAT); if (result == 0) { @@ -435,7 +439,7 @@ class APIInfo { String xsig = sig; if (!detail) { final String ICUPACK = "com.ibm.icu."; - StringBuffer tbuf = new StringBuffer(); + StringBuilder tbuf = new StringBuilder(); for (int i = 0; i < sig.length();) { int n = sig.indexOf(ICUPACK, i); if (n == -1) { @@ -466,7 +470,7 @@ class APIInfo { color = "gray"; } if (color != null) { - s = "" + s + ""; + s = "" + prepText(s, html) + ""; } } } @@ -483,48 +487,86 @@ class APIInfo { } else { buf.append("class "); } - if (html) { - buf.append(""); - } + if (html) { + buf.append(""); + } if (cls.length() > 0) { - buf.append(cls); + buf.append(prepText(cls, html)); buf.append('.'); } - buf.append(name); - if (html) { - buf.append(""); - } + buf.append(prepText(name, html)); + if (html) { + buf.append(""); + } + if (detail) { + buf.append(' '); + buf.append(prepText(sig, html)); + } + break; + + case CAT_ENUM: + buf.append("enum "); + if (html) { + buf.append(""); + } + if (cls.length() > 0) { + buf.append(prepText(cls, html)); + buf.append('.'); + } + buf.append(prepText(name, html)); + if (html) { + buf.append(""); + } if (detail) { buf.append(' '); - buf.append(sig); + buf.append(prepText(sig, html)); } break; case CAT_FIELD: - buf.append(xsig); + case CAT_ENUM_CONSTANT: + buf.append(prepText(xsig, html)); buf.append(' '); - buf.append(name); + buf.append(prepText(name, html)); break; case CAT_METHOD: case CAT_CONSTRUCTOR: int n = xsig.indexOf('('); if (n > 0) { - buf.append(xsig.substring(0, n)); + buf.append(prepText(xsig.substring(0, n), html)); buf.append(' '); } else { n = 0; } - if (html) { - buf.append("" + name + ""); - } else { - buf.append(name); - } - buf.append(xsig.substring(n)); + if (html) { + buf.append("" + prepText(name, html) + ""); + } else { + buf.append(name); + } + buf.append(prepText(xsig.substring(n), html)); break; } } + private static String prepText(String text, boolean html) { + if (html && (text.indexOf('<') >= 0 || text.indexOf('>') >= 0)) { + StringBuilder buf = new StringBuilder(); + for (int i = 0; i < text.length(); i++) { + char c = text.charAt(i); + if (c == '<') { + buf.append("<"); + } else if (c == '>') { + buf.append(">"); + } else { + buf.append(c); + } + } + text = buf.toString(); + } + return text; + } + public void println(PrintWriter pw, boolean detail, boolean html) { print(pw, detail, html); pw.println(); @@ -551,7 +593,7 @@ class APIInfo { { "", "final" }, { "", "synchronized" }, { "", "abstract" }, - { "class", "field", "constructor", "method" }, + { "class", "field", "constructor", "method", "enum", "enum constant" }, null, null, null, @@ -566,7 +608,7 @@ class APIInfo { { "NF", "FN" }, { "NS", "SY" }, { "NA", "AB" }, - { "L", "F", "C", "M" }, + { "L", "F", "C", "M", "E", "K" }, null, null, null, diff --git a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java index 9f2f22cf2af..cf56f5069c6 100644 --- a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java +++ b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/GatherAPIData.java @@ -1,6 +1,6 @@ /** ******************************************************************************* - * Copyright (C) 2004-2012, International Business Machines Corporation and * + * Copyright (C) 2004-2013, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -211,6 +211,7 @@ public class GatherAPIData { doDocs(cdoc.fields()); doDocs(cdoc.constructors()); doDocs(cdoc.methods()); + doDocs(cdoc.enumConstants()); // don't call this to iterate over inner classes, // root.classes already includes them // doDocs(cdoc.innerClasses()); @@ -361,7 +362,7 @@ public class GatherAPIData { } // final - if (doc.isFinal()) { + if (doc.isFinal() && !doc.isEnum()) { info.setFinal(); } else { // default is non-final @@ -375,7 +376,13 @@ public class GatherAPIData { } else if (doc.isConstructor()) { info.setConstructor(); } else if (doc.isClass() || doc.isInterface()) { - info.setClass(); + if (doc.isEnum()) { + info.setEnum(); + } else { + info.setClass(); + } + } else if (doc.isEnumConstant()) { + info.setEnumConstant(); } info.setPackage(trimBase(doc.containingPackage().name())); @@ -398,7 +405,7 @@ public class GatherAPIData { StringBuffer buf = new StringBuffer(); if (cdoc.isClass()) { buf.append("extends "); - buf.append(cdoc.superclass().qualifiedName()); + buf.append(cdoc.superclassType().toString()); } ClassDoc[] imp = cdoc.interfaces(); if (imp != null && imp.length > 0) { diff --git a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java index ed81949f584..bea5b412e32 100644 --- a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java +++ b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java @@ -1,6 +1,6 @@ /** ******************************************************************************* -* Copyright (C) 2004-2012, International Business Machines Corporation and * +* Copyright (C) 2004-2013, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -470,7 +470,7 @@ public class ReportAPI { clas = null; } - if (!info.isClass()) { + if (!info.isClass() && !info.isEnum()) { String className = info.getClassName(); if (!className.equals(clas)) { if (html) { -- 2.40.0