Details
Description
JavaClassBuilder fails to successfully parse the UnicodeBlock java.lang.Character inner class.
In this class, fields are not defined as usual but like this :
public static final UnicodeBlock
BASIC_LATIN
= new UnicodeBlock("BASIC_LATIN"),
LATIN_1_SUPPLEMENT
= new UnicodeBlock("LATIN_1_SUPPLEMENT"),
/* cut */
HALFWIDTH_AND_FULLWIDTH_FORMS
= new UnicodeBlock("HALFWIDTH_AND_FULLWIDTH_FORMS"),
SPECIALS
= new UnicodeBlock("SPECIALS");
From this code block, QDOX only finds the BASIC_LATIN field, and only 4 fields from the entire class (BASIC_LATIN, SYRIAC, blockStarts and blocks).
Tricky.
This happens because the lexer discards everything between the first "=" and the ";".
Discarding "un-interesting" tokens during lexical analysis is what makes QDox so speedy. In other words, it will be difficult to fix this bug without a big performance hit.