From: <fwi...@us...> - 2008-09-09 18:43:02
|
Revision: 5304 http://jython.svn.sourceforge.net/jython/?rev=5304&view=rev Author: fwierzbicki Date: 2008-09-09 18:42:57 +0000 (Tue, 09 Sep 2008) Log Message: ----------- Fix some offset problems in DEDENT, INDENT, and EOF. Modified Paths: -------------- trunk/jython/src/org/python/antlr/PythonTokenSource.java Modified: trunk/jython/src/org/python/antlr/PythonTokenSource.java =================================================================== --- trunk/jython/src/org/python/antlr/PythonTokenSource.java 2008-09-08 17:48:28 UTC (rev 5303) +++ trunk/jython/src/org/python/antlr/PythonTokenSource.java 2008-09-09 18:42:57 UTC (rev 5304) @@ -154,6 +154,7 @@ private void handleEOF(CommonToken eof, CommonToken prev) { if (prev != null) { + eof.setStartIndex(prev.getStopIndex()); eof.setStopIndex(prev.getStopIndex()); } } @@ -258,9 +259,11 @@ private void handleIndents(int cpos, CommonToken t) { push(cpos); //System.out.println("push("+cpos+"): "+stackString()); - Token indent = new CommonToken(PythonParser.INDENT,""); + CommonToken indent = new CommonToken(PythonParser.INDENT,""); indent.setCharPositionInLine(t.getCharPositionInLine()); indent.setLine(t.getLine()); + indent.setStartIndex(t.getStartIndex() - 1); + indent.setStopIndex(t.getStartIndex() - 1); tokens.addElement(indent); } @@ -274,9 +277,8 @@ dedent.setCharPositionInLine(t.getCharPositionInLine()); dedent.setLine(t.getLine()); - //XXX: this will get messed up by comments. - dedent.setStartIndex(t.getStartIndex()); - dedent.setStopIndex(t.getStopIndex()); + dedent.setStartIndex(t.getStartIndex() - 1); + dedent.setStopIndex(t.getStartIndex() - 1); tokens.addElement(dedent); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |