Add method for detecting start of line

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/csv/trunk@1306321 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sebastian Bazley 2012-03-28 13:40:46 +00:00
parent 6a91c05061
commit 93089b260c
1 changed files with 9 additions and 6 deletions

View File

@ -49,6 +49,13 @@ class CSVLexer extends Lexer {
* is to call 'readAgain' on the stream...
*/
int c = in.read();
if ((lastChar == '\n' || lastChar == '\r' || lastChar == ExtendedBufferedReader.UNDEFINED) && isCommentStart(c)) {
in.readLine();
tkn.type = COMMENT;
return tkn;
}
boolean eol = isEndOfLine(c);
c = in.readAgain();
@ -86,12 +93,8 @@ class CSVLexer extends Lexer {
}
}
// ok, start of token reached: comment, encapsulated, or token
if (isCommentStart(c)) { // TODO should only match at start of line
// ignore everything till end of line and continue (incr linecount)
in.readLine();
tkn.type = COMMENT;
} else if (isDelimiter(c)) {
// ok, start of token reached: encapsulated, or token
if (isDelimiter(c)) {
// empty token return TOKEN("")
tkn.type = TOKEN;
} else if (eol) {