Title: [701] trunk/qdox/src/grammar: Fix for QDOX-200: parse exception javadoctag with javadocend
Revision
701
Author
rfscholte
Date
2010-02-09 08:10:12 -0600 (Tue, 09 Feb 2010)

Log Message

Fix for QDOX-200: parse exception javadoctag with javadocend

Modified Paths

Diff

Modified: trunk/qdox/src/grammar/lexer.flex (700 => 701)

--- trunk/qdox/src/grammar/lexer.flex	2010-02-08 17:16:14 UTC (rev 700)
+++ trunk/qdox/src/grammar/lexer.flex	2010-02-09 14:10:12 UTC (rev 701)
@@ -262,9 +262,10 @@
 }
 
 <JAVADOCTAG> {
-  "@" [^ \t\n\r]+  { return Parser.JAVADOCTAG; }
-  [ \t]+           { popState();pushState(JAVADOCLINE);}
-  {Eol}            { popState();return Parser.JAVADOCLINE;}
+  "@" [^ \t\n\r]+ / {JavadocEnd} { popState(); return Parser.JAVADOCTAG;  }
+  "@" [^ \t\n\r]+                { return Parser.JAVADOCTAG; }
+  [ \t]+                         { popState();pushState(JAVADOCLINE);}
+  {Eol}                          { popState();return Parser.JAVADOCLINE;}
 }
 
 <CODEBLOCK> {

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/parser/LexerTest.java (700 => 701)

--- trunk/qdox/src/test/com/thoughtworks/qdox/parser/LexerTest.java	2010-02-08 17:16:14 UTC (rev 700)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/parser/LexerTest.java	2010-02-09 14:10:12 UTC (rev 701)
@@ -452,6 +452,16 @@
         assertLex(Parser.JAVADOCEND, lexer);
         assertLex(0, lexer);
     }
+    
+    // QDOX-200
+    public void testCompactJavaDocTag() throws Exception {
+        String in = "/** @foo*/";
+        Lexer lexer = new JFlexLexer(new StringReader(in));
+        assertLex(Parser.JAVADOCSTART, lexer);
+        assertLex(Parser.JAVADOCTAG, "@foo", lexer);
+        assertLex(Parser.JAVADOCEND, lexer);      
+        assertLex(0, lexer);
+    }
 
     public void testArrayTokens() throws Exception {
         String in = "String[] []o[]";


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to