Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1518)

Unified Diff: pkg/analyzer/lib/src/dart/scanner/reader.dart

Issue 1935733002: Small improvement to scanner performance (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/dart/scanner/reader.dart
diff --git a/pkg/analyzer/lib/src/dart/scanner/reader.dart b/pkg/analyzer/lib/src/dart/scanner/reader.dart
index 1f5d87d1c2f4e6ee70082ed1115af669eb9bd55f..7382fa16627c2124ba8af05aeac5b3e29095bc47 100644
--- a/pkg/analyzer/lib/src/dart/scanner/reader.dart
+++ b/pkg/analyzer/lib/src/dart/scanner/reader.dart
@@ -109,12 +109,12 @@ class CharSequenceReader implements CharacterReader {
/**
* The number of characters in the string.
*/
- int _stringLength = 0;
+ int _stringLength;
/**
- * The index, relative to the string, of the last character that was read.
+ * The index, relative to the string, of the next character to be read.
*/
- int _charOffset = 0;
+ int _charOffset;
/**
* Initialize a newly created reader to read the characters in the given
@@ -122,35 +122,35 @@ class CharSequenceReader implements CharacterReader {
*/
CharSequenceReader(this._sequence) {
this._stringLength = _sequence.length;
- this._charOffset = -1;
+ this._charOffset = 0;
}
@override
- int get offset => _charOffset;
+ int get offset => _charOffset - 1;
@override
void set offset(int offset) {
- _charOffset = offset;
+ _charOffset = offset + 1;
}
@override
int advance() {
- if (_charOffset + 1 >= _stringLength) {
+ if (_charOffset >= _stringLength) {
return -1;
}
- return _sequence.codeUnitAt(++_charOffset);
+ return _sequence.codeUnitAt(_charOffset++);
}
@override
String getString(int start, int endDelta) =>
- _sequence.substring(start, _charOffset + 1 + endDelta).toString();
+ _sequence.substring(start, _charOffset + endDelta).toString();
@override
int peek() {
- if (_charOffset + 1 >= _stringLength) {
+ if (_charOffset >= _stringLength) {
return -1;
}
- return _sequence.codeUnitAt(_charOffset + 1);
+ return _sequence.codeUnitAt(_charOffset);
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698