From: Freddy Mallet Date: Fri, 22 Apr 2011 20:56:10 +0000 (+0200) Subject: Sonar Channel : Slightly improve the readability of the source code in charge to... X-Git-Tag: 2.8~145 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b6f08e746d29a10f73c9e37ea828f093d68a89bd;p=sonarqube.git Sonar Channel : Slightly improve the readability of the source code in charge to increment the line number --- 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));