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).
Activity
Mike Williams
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Mike Williams [ mdub ] |
Mike Williams
made changes -
Fix Version/s | 1.4 [ 10304 ] | |
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). |
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). |
Mike Williams
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Mike Williams
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
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.