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

Side by Side Diff: pkg/compiler/lib/src/scanner/array_based_scanner.dart

Issue 1151163004: Implementation of null-aware operators. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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
« no previous file with comments | « pkg/compiler/lib/src/resolved_visitor.dart ('k') | pkg/compiler/lib/src/scanner/listener.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 part of scanner; 5 part of scanner;
6 6
7 abstract class ArrayBasedScanner extends AbstractScanner { 7 abstract class ArrayBasedScanner extends AbstractScanner {
8 ArrayBasedScanner(SourceFile file, bool includeComments) 8 ArrayBasedScanner(SourceFile file, bool includeComments,
9 : super(file, includeComments); 9 bool enableNullAwareOperators)
10 : super(file, includeComments, enableNullAwareOperators);
10 11
11 /** 12 /**
12 * The stack of open groups, e.g [: { ... ( .. :] 13 * The stack of open groups, e.g [: { ... ( .. :]
13 * Each BeginGroupToken has a pointer to the token where the group 14 * Each BeginGroupToken has a pointer to the token where the group
14 * ends. This field is set when scanning the end group token. 15 * ends. This field is set when scanning the end group token.
15 */ 16 */
16 Link<BeginGroupToken> groupingStack = const Link<BeginGroupToken>(); 17 Link<BeginGroupToken> groupingStack = const Link<BeginGroupToken>();
17 18
18 /** 19 /**
19 * Appends a fixed token whose kind and content is determined by [info]. 20 * Appends a fixed token whose kind and content is determined by [info].
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 * In other words, this method is called when the scanner recognizes 211 * In other words, this method is called when the scanner recognizes
211 * something which cannot possibly be part of a type parameter/argument 212 * something which cannot possibly be part of a type parameter/argument
212 * list, like the '=' in the above example. 213 * list, like the '=' in the above example.
213 */ 214 */
214 void discardOpenLt() { 215 void discardOpenLt() {
215 while (!groupingStack.isEmpty 216 while (!groupingStack.isEmpty
216 && identical(groupingStack.head.kind, LT_TOKEN)) { 217 && identical(groupingStack.head.kind, LT_TOKEN)) {
217 groupingStack = groupingStack.tail; 218 groupingStack = groupingStack.tail;
218 } 219 }
219 } 220 }
220 } 221 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolved_visitor.dart ('k') | pkg/compiler/lib/src/scanner/listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698