jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • QDox
  • QDOX-108

FQN Annotation parsing fails

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.6
  • Fix Version/s: 1.6.2
  • Component/s: Parser
  • Labels:
    None

Description

"@Anno" works, but "@com.comany.Anno" does not.

Parser fix attached.

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Text File
    qdox_anno.patch
    22/Jan/07 1:41 PM
    0.5 kB
    Eric Redmond

Issue Links

duplicates

Improvement - An improvement or enhancement to an existing feature or task. QDOX-94 Full Support for Processing Java 5 source

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.
is depended upon by

Bug - A problem which impairs or prevents the functions of the product. MDOCCK-12 @Override let QDOX fail for this plugin

  • Minor - Minor loss of function, or other problem where easy workaround is present.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Paul Hammant added a comment - 03/Apr/07 12:01 AM

I tried to apply this patch. After attempting to recreate a failing testcase. Well modify an existing one to fail at least:

public void testAnnotationTokens() throws Exception {
String in = ""
+ "@Copyright (year = 2004, month = \"Jan\")\n"
+ "@Note(\"Just ignore me\")\n"
+ "@foo.Bar\n"
+ "public class LexerTest extends TestCase {}\n";
Lexer lexer = new JFlexLexer(new StringReader(in));

assertLex(Parser.AT, lexer);
assertLex(Parser.IDENTIFIER, "Copyright", lexer);
assertLex(Parser.PARENOPEN, lexer);
assertLex(Parser.IDENTIFIER, "year", lexer);
assertLex(Parser.COMMA, lexer);
assertLex(Parser.IDENTIFIER, "month", lexer);
assertLex(Parser.PARENCLOSE, lexer);
assertLex(Parser.AT, lexer);
assertLex(Parser.IDENTIFIER, "Note", lexer);
assertLex(Parser.PARENOPEN, lexer);
assertLex(Parser.PARENCLOSE, lexer);

assertLex(Parser.AT, lexer);
assertLex(Parser.IDENTIFIER, "foo.Bar", lexer);

assertLex(Parser.PUBLIC, lexer);
assertLex(Parser.CLASS, lexer);
assertLex(Parser.IDENTIFIER, "LexerTest", lexer);
assertLex(Parser.EXTENDS, lexer);
assertLex(Parser.IDENTIFIER, "TestCase", lexer);
assertLex(Parser.BRACEOPEN, lexer);
assertLex(Parser.BRACECLOSE, lexer);
assertLex(0, lexer);
}

The thing sure fails as expected, but after the application of the patch (and the regeneration of Parser.java) it does not pass.

Thus I cannot apply. I need help to work thru this

Show
Paul Hammant added a comment - 03/Apr/07 12:01 AM I tried to apply this patch. After attempting to recreate a failing testcase. Well modify an existing one to fail at least: public void testAnnotationTokens() throws Exception { String in = "" + "@Copyright (year = 2004, month = \"Jan\")\n" + "@Note(\"Just ignore me\")\n" + "@foo.Bar\n" + "public class LexerTest extends TestCase {}\n"; Lexer lexer = new JFlexLexer(new StringReader(in)); assertLex(Parser.AT, lexer); assertLex(Parser.IDENTIFIER, "Copyright", lexer); assertLex(Parser.PARENOPEN, lexer); assertLex(Parser.IDENTIFIER, "year", lexer); assertLex(Parser.COMMA, lexer); assertLex(Parser.IDENTIFIER, "month", lexer); assertLex(Parser.PARENCLOSE, lexer); assertLex(Parser.AT, lexer); assertLex(Parser.IDENTIFIER, "Note", lexer); assertLex(Parser.PARENOPEN, lexer); assertLex(Parser.PARENCLOSE, lexer); assertLex(Parser.AT, lexer); assertLex(Parser.IDENTIFIER, "foo.Bar", lexer); assertLex(Parser.PUBLIC, lexer); assertLex(Parser.CLASS, lexer); assertLex(Parser.IDENTIFIER, "LexerTest", lexer); assertLex(Parser.EXTENDS, lexer); assertLex(Parser.IDENTIFIER, "TestCase", lexer); assertLex(Parser.BRACEOPEN, lexer); assertLex(Parser.BRACECLOSE, lexer); assertLex(0, lexer); } The thing sure fails as expected, but after the application of the patch (and the regeneration of Parser.java) it does not pass. Thus I cannot apply. I need help to work thru this
Hide
Permalink
Paul Hammant added a comment - 03/Apr/07 12:51 AM

After QDOX-94 the grammar has changed so that the attached patch will not apply. Additionally, the test (as above) does not pass w/o further grammar changes.

What next ?

Show
Paul Hammant added a comment - 03/Apr/07 12:51 AM After QDOX-94 the grammar has changed so that the attached patch will not apply. Additionally, the test (as above) does not pass w/o further grammar changes. What next ?
Hide
Permalink
Eric Redmond added a comment - 03/Apr/07 11:49 AM

Sorry, covered by QDOX-94 ... this can be closed.

Show
Eric Redmond added a comment - 03/Apr/07 11:49 AM Sorry, covered by QDOX-94 ... this can be closed.
Hide
Permalink
Mauro Talevi added a comment - 27/May/07 10:48 AM

Changed fix version to 1.7

Show
Mauro Talevi added a comment - 27/May/07 10:48 AM Changed fix version to 1.7

People

  • Assignee:
    Unassigned
    Reporter:
    Eric Redmond
Vote (0)
Watch (0)

Dates

  • Created:
    22/Jan/07 1:41 PM
    Updated:
    09/Jul/08 10:11 AM
    Resolved:
    31/May/07 9:59 AM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.