Index: pkg/front_end/lib/src/fasta/source/stack_listener.dart |
diff --git a/pkg/front_end/lib/src/fasta/source/stack_listener.dart b/pkg/front_end/lib/src/fasta/source/stack_listener.dart |
index 650c0a18285675373865503a31c5dafffcc5c2ea..1138c5bb0928d74b6b30210560a94f2cc4db079c 100644 |
--- a/pkg/front_end/lib/src/fasta/source/stack_listener.dart |
+++ b/pkg/front_end/lib/src/fasta/source/stack_listener.dart |
@@ -84,9 +84,9 @@ abstract class StackListener extends Listener { |
return value == null ? null : pop(); |
} |
- List popList(int n) { |
+ List popList(int n, [List list]) { |
if (n == 0) return null; |
- return stack.popList(n); |
+ return stack.popList(n, list); |
} |
void debugEvent(String name) { |
@@ -298,13 +298,13 @@ class Stack { |
return value is NullValue ? null : value; |
} |
- List popList(int count) { |
+ List popList(int count, List list) { |
assert(arrayLength >= count); |
final table = array; |
final length = arrayLength; |
- final tailList = new List.filled(count, null, growable: true); |
+ final tailList = list ?? new List.filled(count, null, growable: true); |
final startIndex = length - count; |
for (int i = 0; i < count; i++) { |
final value = table[startIndex + i]; |