tree c72a11eda488404114a2b002bb7518c67edb94dc
parent 704f3a3aea819128cc7e1e73b8a2af305e1c2c41
author Andrew Solovay <asolovay@google.com> 1477077861 -0700
committer Dirk Dougherty <ddougherty@google.com> 1480554268 +0000

docs: Fixing bad unicode sequence in Javadocs.

The source file /external/icu/icu4j/main/classes/…/UnicodeSet.java
has a comment with the character sequence '\u0000', which is being
output verbatim to a Javadoc comment the generated file
java/android/icu/text/UnicodeSet.java . (See bug b/32309442)

That character sequence is being output as a null byte in the
generated HTML file: https://screenshot.googleplex.com/ixQ4G2QTZkY.png
https://developer.android.com/reference/android/icu/text/UnicodeSet.html#applyPropertyAlias(java.lang.String,%20java.lang.String)

Besides generating bad documentation (the sequence shows up as "\u"
instead of "\u0000"), this also means we won't be able to check the
generated docs in to Piper as text files.

Per instructions from JS, I've modified the external file, run the
script to generate the java/android/icu file from it, and included
both files in this CL. I've also generated the Javadoc from the
modified file and staged it to:

https//go/dods-stage/reference/android/icu/text/UnicodeSet.html#applyPropertyAlias(java.lang.String,%20java.lang.String)

NOTE: Currently, a double-backslash sequence is incorrectly output to
the Javadoc as a double-backslash instead of being treated as an
escape character. I filed a separate bug about that, b/32335850

bug: 32309442
Change-Id: If25fe0767769ecf15d5f8b73a18eb9e0f87b3752
(cherry picked from commit 06ec6d9c5ca6a2e72ac506c8729e0a31db19e211)
