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