From b6f08e746d29a10f73c9e37ea828f093d68a89bd Mon Sep 17 00:00:00 2001 From: Freddy Mallet Date: Fri, 22 Apr 2011 22:56:10 +0200 Subject: [PATCH] Sonar Channel : Slightly improve the readability of the source code in charge to increment the line number --- .../src/main/java/org/sonar/channel/CodeBuffer.java | 8 +++----- .../src/test/java/org/sonar/channel/CodeBufferTest.java | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java b/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java index dbb28eb7b0b..25ad180b4b3 100644 --- a/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java +++ b/sonar-channel/src/main/java/org/sonar/channel/CodeBuffer.java @@ -94,11 +94,9 @@ public class CodeBuffer implements CharSequence { } private void updateCursorPosition(int character) { - //see Java Language Specification : http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.4 - if (character == LF || character == CR) { - if ((lastChar != LF && lastChar != CR) || lastChar == character || lastChar == LF) { - cursor.line++; - } + // see Java Language Specification : http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.4 + if (character == LF || (character == CR && peek() != LF)) { + cursor.line++; cursor.column = 0; } else if (character == '\t') { cursor.column += tabWidth; diff --git a/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java b/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java index b028184c7c5..e5befb2efcb 100644 --- a/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java +++ b/sonar-channel/src/test/java/org/sonar/channel/CodeBufferTest.java @@ -84,8 +84,8 @@ public class CodeBufferTest { assertThat(reader.getLinePosition(), is(3)); assertThat((char) reader.pop(), is('s')); reader.pop(); // \r - assertThat(reader.getColumnPosition(), is(0)); - assertThat(reader.getLinePosition(), is(4)); + assertThat(reader.getColumnPosition(), is(2)); + assertThat(reader.getLinePosition(), is(3)); reader.pop(); // \n assertThat(reader.getColumnPosition(), is(0)); assertThat(reader.getLinePosition(), is(4)); -- 2.39.5