Index: src/ast/scopes.h |
diff --git a/src/ast/scopes.h b/src/ast/scopes.h |
index c5fcd6e7d2324f2ddab8225262d0f569c3458820..840c63944eb355ccfb5d4dbddee2c4a9128818f4 100644 |
--- a/src/ast/scopes.h |
+++ b/src/ast/scopes.h |
@@ -808,6 +808,20 @@ |
void AllocateParameterLocals(); |
void AllocateReceiver(); |
+ void ResetAfterPreparsing() { |
+ // Reset all non-trivial members. |
+ decls_.Clear(); |
+ locals_.Clear(); |
+ params_.Clear(); |
+ sloppy_block_function_map_.Clear(); |
+ variables_.Clear(); |
+ // Make sure we won't walk the scope tree from here on. |
+ inner_scope_ = nullptr; |
+ // Make sure we won't try to allocate the rest parameter. {params_} was |
+ // cleared above. |
+ has_rest_ = false; |
+ } |
+ |
private: |
void AllocateParameter(Variable* var, int index); |