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

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

Issue 2899043006: cleanup fasta token classes (Closed)
Patch Set: Created 3 years, 6 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 licenset hat can be found in the LICENSE file. 3 // BSD-style licenset hat can be found in the LICENSE file.
4 4
5 library dart_scanner.error_token; 5 library dart_scanner.error_token;
6 6
7 import '../../scanner/token.dart' show TokenType, TokenWithComment; 7 import '../../scanner/token.dart' show BeginToken, TokenType, TokenWithComment;
8 8
9 import '../fasta_codes.dart' 9 import '../fasta_codes.dart'
10 show 10 show
11 FastaCode, 11 FastaCode,
12 codeAsciiControlCharacter, 12 codeAsciiControlCharacter,
13 codeEncoding, 13 codeEncoding,
14 codeExpectedHexDigit, 14 codeExpectedHexDigit,
15 codeMissingExponent, 15 codeMissingExponent,
16 codeNonAsciiIdentifier, 16 codeNonAsciiIdentifier,
17 codeNonAsciiWhitespace, 17 codeNonAsciiWhitespace,
18 codeUnexpectedDollarInString, 18 codeUnexpectedDollarInString,
19 codeUnmatchedToken, 19 codeUnmatchedToken,
20 codeUnterminatedComment, 20 codeUnterminatedComment,
21 codeUnterminatedString, 21 codeUnterminatedString,
22 codeUnterminatedToken; 22 codeUnterminatedToken;
23 23
24 import '../scanner.dart' 24 import '../scanner.dart' show Token, unicodeReplacementCharacter;
25 show BeginGroupToken, Token, unicodeReplacementCharacter;
26 25
27 ErrorToken buildUnexpectedCharacterToken(int character, int charOffset) { 26 ErrorToken buildUnexpectedCharacterToken(int character, int charOffset) {
28 if (character < 0x1f) { 27 if (character < 0x1f) {
29 return new AsciiControlCharacterToken(character, charOffset); 28 return new AsciiControlCharacterToken(character, charOffset);
30 } 29 }
31 switch (character) { 30 switch (character) {
32 case unicodeReplacementCharacter: 31 case unicodeReplacementCharacter:
33 return new EncodingErrorToken(charOffset); 32 return new EncodingErrorToken(charOffset);
34 33
35 /// See [General Punctuation] 34 /// See [General Punctuation]
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 String get assertionMessage; 78 String get assertionMessage;
80 79
81 FastaCode get errorCode; 80 FastaCode get errorCode;
82 81
83 int get character => null; 82 int get character => null;
84 83
85 String get start => null; 84 String get start => null;
86 85
87 int get endOffset => null; 86 int get endOffset => null;
88 87
89 BeginGroupToken get begin => null; 88 BeginToken get begin => null;
90 89
91 @override 90 @override
92 Token copy() { 91 Token copy() {
93 throw 'unsupported operation'; 92 throw 'unsupported operation';
94 } 93 }
95 } 94 }
96 95
97 /// Represents an encoding error. 96 /// Represents an encoding error.
98 class EncodingErrorToken extends ErrorToken { 97 class EncodingErrorToken extends ErrorToken {
99 EncodingErrorToken(int charOffset) : super(charOffset); 98 EncodingErrorToken(int charOffset) : super(charOffset);
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 return codeUnterminatedToken; 203 return codeUnterminatedToken;
205 } 204 }
206 } 205 }
207 } 206 }
208 207
209 /// Represents an open brace without a matching close brace. 208 /// Represents an open brace without a matching close brace.
210 /// 209 ///
211 /// In this case, brace means any of `(`, `{`, `[`, and `<`, parenthesis, curly 210 /// In this case, brace means any of `(`, `{`, `[`, and `<`, parenthesis, curly
212 /// brace, square brace, and angle brace, respectively. 211 /// brace, square brace, and angle brace, respectively.
213 class UnmatchedToken extends ErrorToken { 212 class UnmatchedToken extends ErrorToken {
214 final BeginGroupToken begin; 213 final BeginToken begin;
215 214
216 UnmatchedToken(BeginGroupToken begin) 215 UnmatchedToken(BeginToken begin)
217 : this.begin = begin, 216 : this.begin = begin,
218 super(begin.charOffset); 217 super(begin.charOffset);
219 218
220 String toString() => "UnmatchedToken(${begin.lexeme})"; 219 String toString() => "UnmatchedToken(${begin.lexeme})";
221 220
222 String get assertionMessage => "'$begin' isn't closed."; 221 String get assertionMessage => "'$begin' isn't closed.";
223 222
224 FastaCode get errorCode => codeUnmatchedToken; 223 FastaCode get errorCode => codeUnmatchedToken;
225 } 224 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/scanner/array_based_scanner.dart ('k') | pkg/front_end/lib/src/fasta/scanner/recover.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698