| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |