- Revision
- 729
- Author
- rfscholte
- Date
- 2010-05-02 04:15:36 -0500 (Sun, 02 May 2010)
Log Message
Fix for QDOX-208: Invalid linenumbers after parsing javadocs
Modified Paths
Diff
Modified: trunk/qdox/src/grammar/skeleton.inner (728 => 729)
--- trunk/qdox/src/grammar/skeleton.inner 2010-05-01 20:20:08 UTC (rev 728) +++ trunk/qdox/src/grammar/skeleton.inner 2010-05-02 09:15:36 UTC (rev 729) @@ -88,8 +88,6 @@ int zzStartRead; int zzCurrentPos; int zzMarkedPos; - int yyline; - int yycolumn; char [] zzBuffer; boolean zzAtEOF; boolean zzEOFDone; @@ -97,7 +95,7 @@ /** sets all values stored in this class */ ZzFlexStreamInfo(java.io.Reader zzReader, int zzEndRead, int zzStartRead, int zzCurrentPos, int zzMarkedPos, - char [] zzBuffer, boolean zzAtEOF, int yyline, int yycolumn) { + char [] zzBuffer, boolean zzAtEOF) { this.zzReader = zzReader; this.zzEndRead = zzEndRead; this.zzStartRead = zzStartRead; @@ -106,8 +104,6 @@ this.zzBuffer = zzBuffer; this.zzAtEOF = zzAtEOF; this.zzEOFDone = zzEOFDone; - this.yyline = yyline; - this.yycolumn = yycolumn; } } @@ -203,15 +199,13 @@ public final void yypushStream(java.io.Reader reader) { zzStreams.push( new ZzFlexStreamInfo(zzReader, zzEndRead, zzStartRead, zzCurrentPos, - zzMarkedPos, zzBuffer, zzAtEOF, - yyline, yycolumn) + zzMarkedPos, zzBuffer, zzAtEOF) ); zzAtEOF = false; zzBuffer = new char[ZZ_BUFFERSIZE]; zzReader = reader; zzEndRead = zzStartRead = 0; zzCurrentPos = zzMarkedPos = 0; -// yyline = yycolumn = 0; } @@ -232,14 +226,12 @@ ZzFlexStreamInfo s = (ZzFlexStreamInfo) zzStreams.pop(); zzBuffer = s.zzBuffer; zzReader = s.zzReader; + zzStartRead = s.zzStartRead + zzEndRead + 2; //skip javadoc-part zzEndRead = s.zzEndRead; - zzStartRead = s.zzStartRead; zzCurrentPos = s.zzCurrentPos; zzMarkedPos = s.zzMarkedPos ; zzAtEOF = s.zzAtEOF; zzEOFDone = s.zzEOFDone; -// yyline = s.yyline; -// yycolumn = s.yycolumn; } @@ -272,7 +264,7 @@ zzEOFDone = false; zzEndRead = zzStartRead = 0; zzCurrentPos = zzMarkedPos = 0; -// yyline = yychar = yycolumn = 0; + yychar = 0; zzLexicalState = YYINITIAL; }
Modified: trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java (728 => 729)
--- trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java 2010-05-01 20:20:08 UTC (rev 728) +++ trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java 2010-05-02 09:15:36 UTC (rev 729) @@ -1255,6 +1255,26 @@ assertNotNull(thing.getSource()); } + // for QDOX-208 + public void testMethodLineNumber() throws Exception { + JavaDocBuilder builder = new JavaDocBuilder(); + String source = "package com.foo;\n" + + "public class Bar {\n" + + " public void method1() \n" + + " {}\n" + + "\n" + + " /**\n" + + " * Method with javadoc\n" + + " */\n" + + " public void method1() { \n" + + " }\n" + + "}"; + builder.addSource( new StringReader( source ) ); + JavaClass clazz = builder.getClasses()[0]; + assertEquals( 3, clazz.getMethods()[0].getLineNumber() ); + assertEquals( 9, clazz.getMethods()[1].getLineNumber() ); + } + // for QDOX-209 public void testAnnotationMap() throws Exception{ JavaDocBuilder javaDocBuilder = new JavaDocBuilder();
To unsubscribe from this list please visit:
