Index: src/ast/scopes.cc |
diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc |
index ad1c137753e475963467df4a934f414f9d649161..2d8c286339f9229486603bb9dc040d04c236b065 100644 |
--- a/src/ast/scopes.cc |
+++ b/src/ast/scopes.cc |
@@ -1883,6 +1883,9 @@ void Scope::ResolveVariablesRecursively(ParseInfo* info) { |
VariableProxy* Scope::FetchFreeVariables(DeclarationScope* max_outer_scope, |
ParseInfo* info, |
VariableProxy* stack) { |
+ // Module variables must be allocated before variable resolution |
+ // to ensure that AccessNeedsHoleCheck() can detect import variables. |
+ if (is_module_scope()) AsModuleScope()->AllocateModuleVariables(); |
kozy
2017/01/30 23:25:11
Adam, could you please take a look on these lines?
adamk
2017/01/30 23:34:35
Can you guard this with "info != nullptr" as well?
kozy
2017/01/30 23:40:40
Done.
|
// Lazy parsed declaration scopes are already partially analyzed. If there are |
// unresolved references remaining, they just need to be resolved in outer |
// scopes. |