Details
-
Bug
-
Status: Resolved
-
P3
-
Resolution: Fixed
-
None
Description
The combination of `<pre>` for preserving line breaks and `
{@code` for preserving angle brackets and curly brackets _mostly_ works. `@` is the problematic character. I see `\{@literal @}` show up in many classes' Javadoc, and that method doesn't do what's intended. In current Java 8 builds, it looks like `@` inside `{@code}` is not a problem in the general case and doesn't need to be escaped. The one exception is when `@` is the first non-whitespace character in a line, in which case it appears that Javadoc thinks it's a tag like `@return` or `@param` and throws an error.
The solution here is to end the `@code` block and start a new one on the line that contains '@' litteral. Note that `@code` and `@literal` blocks, while they will render literal curly brackets, expect curly brackets to be balanced. Thus, we have to end the previous code block before the `{` that opens the next block