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

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

Issue 2850853004: Add 'scanGenericMethodComments' parameter to constructors and scan() functions. (Closed)
Patch Set: Parse generic method comments only in strong mode. Created 3 years, 7 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; 7 import '../../scanner/token.dart' show TokenType;
8 8
9 import 'array_based_scanner.dart' show ArrayBasedScanner; 9 import 'array_based_scanner.dart' show ArrayBasedScanner;
10 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
21 /** The current offset in [string]. */ 21 /** The current offset in [string]. */
22 int scanOffset = -1; 22 int scanOffset = -1;
23 23
24 StringScanner(String string, {bool includeComments: false}) 24 StringScanner(String string,
25 {bool includeComments: false, bool scanGenericMethodComments: false})
25 : string = ensureZeroTermination(string), 26 : string = ensureZeroTermination(string),
26 super(includeComments); 27 super(includeComments, scanGenericMethodComments);
27 28
28 static String ensureZeroTermination(String string) { 29 static String ensureZeroTermination(String string) {
29 return (string.isEmpty || string.codeUnitAt(string.length - 1) != 0) 30 return (string.isEmpty || string.codeUnitAt(string.length - 1) != 0)
30 // TODO(lry): abort instead of copying the array, or warn? 31 // TODO(lry): abort instead of copying the array, or warn?
31 ? string + '\x00' 32 ? string + '\x00'
32 : string; 33 : string;
33 } 34 }
34 35
35 int advance() => string.codeUnitAt(++scanOffset); 36 int advance() => string.codeUnitAt(++scanOffset);
36 int peek() => string.codeUnitAt(scanOffset + 1); 37 int peek() => string.codeUnitAt(scanOffset + 1);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 78
78 SubStringScanner(this.baseOffset, String string, 79 SubStringScanner(this.baseOffset, String string,
79 {bool includeComments: false}) 80 {bool includeComments: false})
80 : super(string, includeComments: includeComments); 81 : super(string, includeComments: includeComments);
81 82
82 @override 83 @override
83 void beginToken() { 84 void beginToken() {
84 tokenStart = baseOffset + stringOffset; 85 tokenStart = baseOffset + stringOffset;
85 } 86 }
86 } 87 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698