Keep track of braces {} in @code comments
This makes doclava more compatible with javadoc, though
it retains some differences around escaping for the moment.
This is related to a change in Javadoc behavior in JDK 5, most
likely http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4965490
Bug: 25757239
Change-Id: I2b4ba4dbad520a1a3e00f394e1fac4b8d67b3fbf
diff --git a/src/com/google/doclava/Comment.java b/src/com/google/doclava/Comment.java
index 616ccc4..894bf04 100644
--- a/src/com/google/doclava/Comment.java
+++ b/src/com/google/doclava/Comment.java
@@ -164,9 +164,15 @@
}
private int findEndIndexOfInlineTag(String text, int fromIndex, int toIndex) {
+ int braceDepth = 0;
for (int i = fromIndex; i < toIndex; i++) {
- if (text.charAt(i) == '}') {
- return i;
+ if (text.charAt(i) == '{') {
+ braceDepth++;
+ } else if (text.charAt(i) == '}') {
+ braceDepth--;
+ if (braceDepth == 0) {
+ return i;
+ }
}
}