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

Side by Side Diff: pkg/front_end/lib/src/fasta/scanner/string_scanner.dart

Issue 2837473002: merge fasta.PrecedenceInfo into analyzer.TokenType (Closed)
Patch Set: Created 3 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 unified diff | Download patch
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 library dart2js.scanner.string_scanner; 5 library dart2js.scanner.string_scanner;
6 6
7 import '../../scanner/token.dart' show TokenType;
8
7 import 'array_based_scanner.dart' show ArrayBasedScanner; 9 import 'array_based_scanner.dart' show ArrayBasedScanner;
8 10
9 import 'precedence.dart' show PrecedenceInfo;
10
11 import 'token.dart' show CommentToken, DartDocToken, StringToken; 11 import 'token.dart' show CommentToken, DartDocToken, StringToken;
12 12
13 /** 13 /**
14 * Scanner that reads from a String and creates tokens that points to 14 * Scanner that reads from a String and creates tokens that points to
15 * substrings. 15 * substrings.
16 */ 16 */
17 class StringScanner extends ArrayBasedScanner { 17 class StringScanner extends ArrayBasedScanner {
18 /** The file content. */ 18 /** The file content. */
19 String string; 19 String string;
20 20
(...skipping 14 matching lines...) Expand all
35 int advance() => string.codeUnitAt(++scanOffset); 35 int advance() => string.codeUnitAt(++scanOffset);
36 int peek() => string.codeUnitAt(scanOffset + 1); 36 int peek() => string.codeUnitAt(scanOffset + 1);
37 37
38 int get stringOffset => scanOffset; 38 int get stringOffset => scanOffset;
39 39
40 int currentAsUnicode(int next) => next; 40 int currentAsUnicode(int next) => next;
41 41
42 void handleUnicode(int startScanOffset) {} 42 void handleUnicode(int startScanOffset) {}
43 43
44 @override 44 @override
45 StringToken createSubstringToken( 45 StringToken createSubstringToken(TokenType info, int start, bool asciiOnly,
46 PrecedenceInfo info, int start, bool asciiOnly,
47 [int extraOffset = 0]) { 46 [int extraOffset = 0]) {
48 return new StringToken.fromSubstring( 47 return new StringToken.fromSubstring(
49 info, string, start, scanOffset + extraOffset, tokenStart, 48 info, string, start, scanOffset + extraOffset, tokenStart,
50 canonicalize: true); 49 canonicalize: true);
51 } 50 }
52 51
53 @override 52 @override
54 CommentToken createCommentToken( 53 CommentToken createCommentToken(TokenType info, int start, bool asciiOnly,
55 PrecedenceInfo info, int start, bool asciiOnly,
56 [int extraOffset = 0]) { 54 [int extraOffset = 0]) {
57 return new CommentToken.fromSubstring( 55 return new CommentToken.fromSubstring(
58 info, string, start, scanOffset + extraOffset, tokenStart, 56 info, string, start, scanOffset + extraOffset, tokenStart,
59 canonicalize: true); 57 canonicalize: true);
60 } 58 }
61 59
62 @override 60 @override
63 DartDocToken createDartDocToken( 61 DartDocToken createDartDocToken(TokenType info, int start, bool asciiOnly,
64 PrecedenceInfo info, int start, bool asciiOnly,
65 [int extraOffset = 0]) { 62 [int extraOffset = 0]) {
66 return new DartDocToken.fromSubstring( 63 return new DartDocToken.fromSubstring(
67 info, string, start, scanOffset + extraOffset, tokenStart, 64 info, string, start, scanOffset + extraOffset, tokenStart,
68 canonicalize: true); 65 canonicalize: true);
69 } 66 }
70 67
71 bool atEndOfFile() => scanOffset >= string.length - 1; 68 bool atEndOfFile() => scanOffset >= string.length - 1;
72 } 69 }
73 70
74 /** 71 /**
75 * Scanner that creates tokens for a part of a larger [String], where the part 72 * Scanner that creates tokens for a part of a larger [String], where the part
76 * starts at the [baseOffset]. 73 * starts at the [baseOffset].
77 */ 74 */
78 class SubStringScanner extends StringScanner { 75 class SubStringScanner extends StringScanner {
79 final int baseOffset; 76 final int baseOffset;
80 77
81 SubStringScanner(this.baseOffset, String string, 78 SubStringScanner(this.baseOffset, String string,
82 {bool includeComments: false}) 79 {bool includeComments: false})
83 : super(string, includeComments: includeComments); 80 : super(string, includeComments: includeComments);
84 81
85 @override 82 @override
86 void beginToken() { 83 void beginToken() {
87 tokenStart = baseOffset + stringOffset; 84 tokenStart = baseOffset + stringOffset;
88 } 85 }
89 } 86 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698