OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of scanner; | |
6 | |
7 /** | 5 /** |
8 * Scanner that reads from a String and creates tokens that points to | 6 * Scanner that reads from a String and creates tokens that points to |
9 * substrings. | 7 * substrings. |
10 */ | 8 */ |
11 class StringScanner extends ArrayBasedScanner<SourceString> { | 9 class StringScanner extends ArrayBasedScanner<SourceString> { |
12 final String string; | 10 final String string; |
13 | 11 |
14 StringScanner(String this.string, {bool includeComments: false}) | 12 StringScanner(String this.string, {bool includeComments: false}) |
15 : super(includeComments); | 13 : super(includeComments); |
16 | 14 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 assert(0 <= terminal); | 66 assert(0 <= terminal); |
69 assert(initial + terminal <= internalString.length); | 67 assert(initial + terminal <= internalString.length); |
70 return new SubstringWrapper(internalString, | 68 return new SubstringWrapper(internalString, |
71 begin + initial, end - terminal); | 69 begin + initial, end - terminal); |
72 } | 70 } |
73 | 71 |
74 bool isEmpty() => begin == end; | 72 bool isEmpty() => begin == end; |
75 | 73 |
76 bool isPrivate() => !isEmpty() && identical(internalString.charCodeAt(begin),
$_); | 74 bool isPrivate() => !isEmpty() && identical(internalString.charCodeAt(begin),
$_); |
77 } | 75 } |
OLD | NEW |