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

Side by Side Diff: pkg/compiler/lib/src/string_validator.dart

Issue 2738313002: rename fasta.Token.value --> lexeme (Closed)
Patch Set: merge Created 3 years, 9 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 // Check the validity of string literals. 5 // Check the validity of string literals.
6 6
7 library stringvalidator; 7 library stringvalidator;
8 8
9 import 'dart:collection'; 9 import 'dart:collection';
10 10
11 import 'common.dart'; 11 import 'common.dart';
12 import 'package:front_end/src/fasta/scanner.dart' show Token; 12 import 'package:front_end/src/fasta/scanner.dart' show Token;
13 import 'tree/dartstring.dart' show DartString; 13 import 'tree/dartstring.dart' show DartString;
14 import 'tree/nodes.dart' show StringQuoting; 14 import 'tree/nodes.dart' show StringQuoting;
15 import 'package:front_end/src/fasta/scanner/characters.dart'; 15 import 'package:front_end/src/fasta/scanner/characters.dart';
16 16
17 class StringValidator { 17 class StringValidator {
18 final DiagnosticReporter reporter; 18 final DiagnosticReporter reporter;
19 19
20 StringValidator(this.reporter); 20 StringValidator(this.reporter);
21 21
22 DartString validateInterpolationPart(Token token, StringQuoting quoting, 22 DartString validateInterpolationPart(Token token, StringQuoting quoting,
23 {bool isFirst: false, bool isLast: false}) { 23 {bool isFirst: false, bool isLast: false}) {
24 String source = token.value; 24 String source = token.lexeme;
25 int leftQuote = 0; 25 int leftQuote = 0;
26 int rightQuote = 0; 26 int rightQuote = 0;
27 if (isFirst) leftQuote = quoting.leftQuoteLength; 27 if (isFirst) leftQuote = quoting.leftQuoteLength;
28 if (isLast) rightQuote = quoting.rightQuoteLength; 28 if (isLast) rightQuote = quoting.rightQuoteLength;
29 String content = copyWithoutQuotes(source, leftQuote, rightQuote); 29 String content = copyWithoutQuotes(source, leftQuote, rightQuote);
30 return validateString( 30 return validateString(
31 token, token.charOffset + leftQuote, content, quoting); 31 token, token.charOffset + leftQuote, content, quoting);
32 } 32 }
33 33
34 static StringQuoting quotingFromString(String sourceString) { 34 static StringQuoting quotingFromString(String sourceString) {
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 } 205 }
206 } 206 }
207 // String literal successfully validated. 207 // String literal successfully validated.
208 if (quoting.raw || !containsEscape) { 208 if (quoting.raw || !containsEscape) {
209 // A string without escapes could just as well have been raw. 209 // A string without escapes could just as well have been raw.
210 return new DartString.rawString(string, length); 210 return new DartString.rawString(string, length);
211 } 211 }
212 return new DartString.escapedString(string, length); 212 return new DartString.escapedString(string, length);
213 } 213 }
214 } 214 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/serialization/equivalence.dart ('k') | pkg/compiler/lib/src/tree/nodes.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698