Index: editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/formatter/Scanner.java |
diff --git a/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/formatter/Scanner.java b/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/formatter/Scanner.java |
index dfbf75a9dc8845c252bb9dc94eacd36de8486d02..8e635cfdd8320e780c4eef4a4c12d696427ce1b6 100644 |
--- a/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/formatter/Scanner.java |
+++ b/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/formatter/Scanner.java |
@@ -46,7 +46,7 @@ public class Scanner { |
} |
@Override |
- protected void recordCommentLocation(int begin, int stop, int line, int col) { |
+ protected void recordCommentLocation(int begin, int stop) { |
int start = begin; // - 1; |
int size = commentLocs.size(); |
if (size > 0) { |
@@ -310,6 +310,50 @@ public class Scanner { |
resetTo(0, source.length); |
} |
+ int getNextChar() { |
+ // only called while formatting comments |
+ try { |
+ startPosition = currentPosition; |
+ currentCharacter = source[currentPosition++]; |
+ nextTokenIsWhitespace = Character.isWhitespace(source[currentPosition]); |
+ // The Dart scanner won't skip chars so we need to toss it and |
+ // create a new one that starts scanning at the next char. |
+ scanner = null; |
+ startPos = currentPosition; |
+ } catch (IndexOutOfBoundsException ex) { |
+ currentCharacter = -1; |
+ nextTokenIsWhitespace = false; |
+ } |
+ return currentCharacter; |
+ } |
+ |
+ boolean getNextChar(int ch) { |
+ // no state change on failure |
+ if (startPosition >= source.length) { |
+ return false; |
+ } |
+ if (source[currentPosition] == ch) { |
+ getNextChar(); |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
+ void skipNewline() { |
+ if (nextTokenIsWhitespace && currentCharacter == '\n') { |
+ if (++currentPosition < source.length) { |
+ currentCharacter = source[currentPosition]; |
+ nextTokenIsWhitespace = Character.isWhitespace(currentCharacter); |
+ } else { |
+ currentPosition -= 1; |
+ currentCharacter = -1; |
+ nextTokenIsWhitespace = false; |
+ } |
+ startPos = startPosition = currentPosition; |
+ scanner = null; |
+ } |
+ } |
+ |
private Token getNextComment() { |
int[] cl = null; |
for (int[] loc : commentLocs) { |
@@ -329,8 +373,8 @@ public class Scanner { |
private Token getNextFromScanner() throws InvalidInputException { |
Token tok = getScanner().next(); |
- startPosition = getScanner().getTokenLocation().getBegin().getPos(); |
- currentPosition = getScanner().getTokenLocation().getEnd().getPos(); |
+ startPosition = getScanner().getTokenLocation().getBegin(); |
+ currentPosition = getScanner().getTokenLocation().getEnd(); |
// System.out.println("Scanner.getNextFromScanner {"); |
// System.out.print(" " + tok + "(" + getScanner().getTokenValue() + ")"); |
// System.out.println(" current loc " + getScanner().getTokenLocation().getBegin().toString()); |
@@ -455,48 +499,4 @@ public class Scanner { |
} |
return endOffset; |
} |
- |
- int getNextChar() { |
- // only called while formatting comments |
- try { |
- startPosition = currentPosition; |
- currentCharacter = source[currentPosition++]; |
- nextTokenIsWhitespace = Character.isWhitespace(source[currentPosition]); |
- // The Dart scanner won't skip chars so we need to toss it and |
- // create a new one that starts scanning at the next char. |
- scanner = null; |
- startPos = currentPosition; |
- } catch (IndexOutOfBoundsException ex) { |
- currentCharacter = -1; |
- nextTokenIsWhitespace = false; |
- } |
- return currentCharacter; |
- } |
- |
- boolean getNextChar(int ch) { |
- // no state change on failure |
- if (startPosition >= source.length) { |
- return false; |
- } |
- if (source[currentPosition] == ch) { |
- getNextChar(); |
- return true; |
- } |
- return false; |
- } |
- |
- void skipNewline() { |
- if (nextTokenIsWhitespace && currentCharacter == '\n') { |
- if (++currentPosition < source.length) { |
- currentCharacter = source[currentPosition]; |
- nextTokenIsWhitespace = Character.isWhitespace(currentCharacter); |
- } else { |
- currentPosition -= 1; |
- currentCharacter = -1; |
- nextTokenIsWhitespace = false; |
- } |
- startPos = startPosition = currentPosition; |
- scanner = null; |
- } |
- } |
} |