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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/scanner/token.dart

Issue 11368138: Add some support for the code-point code-unit distinction. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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; 5 part of scanner;
6 6
7 const int EOF_TOKEN = 0; 7 const int EOF_TOKEN = 0;
8 8
9 const int KEYWORD_TOKEN = $k; 9 const int KEYWORD_TOKEN = $k;
10 const int IDENTIFIER_TOKEN = $a; 10 const int IDENTIFIER_TOKEN = $a;
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 StringCodeIterator(String string) : 239 StringCodeIterator(String string) :
240 this.string = string, index = 0, end = string.length; 240 this.string = string, index = 0, end = string.length;
241 241
242 StringCodeIterator.substring(this.string, this.index, this.end) { 242 StringCodeIterator.substring(this.string, this.index, this.end) {
243 assert(0 <= index); 243 assert(0 <= index);
244 assert(index <= end); 244 assert(index <= end);
245 assert(end <= string.length); 245 assert(end <= string.length);
246 } 246 }
247 247
248 bool get hasNext => index < end; 248 bool get hasNext => index < end;
249 int next() => string.charCodeAt(index++); 249 int next() {
floitsch 2012/11/08 15:28:21 maybe add TODO to switch to charcode-iterator once
erikcorry 2012/11/15 13:28:25 Done.
250 int charCode = string.charCodeAt(index++);
251 if (charCode >= 0x10000) index++; // Skip trail surrogate.
252 return charCode;
253 }
250 } 254 }
251 255
252 class BeginGroupToken extends StringToken { 256 class BeginGroupToken extends StringToken {
253 Token endGroup; 257 Token endGroup;
254 BeginGroupToken(PrecedenceInfo info, String value, int charOffset) 258 BeginGroupToken(PrecedenceInfo info, String value, int charOffset)
255 : super(info, value, charOffset); 259 : super(info, value, charOffset);
256 } 260 }
257 261
258 bool isUserDefinableOperator(String value) { 262 bool isUserDefinableOperator(String value) {
259 return 263 return
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 499
496 const PrecedenceInfo HEXADECIMAL_INFO = 500 const PrecedenceInfo HEXADECIMAL_INFO =
497 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN); 501 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN);
498 502
499 const PrecedenceInfo COMMENT_INFO = 503 const PrecedenceInfo COMMENT_INFO =
500 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN); 504 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN);
501 505
502 // For reporting lexical errors. 506 // For reporting lexical errors.
503 const PrecedenceInfo ERROR_INFO = 507 const PrecedenceInfo ERROR_INFO =
504 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN); 508 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698