Chromium Code Reviews| Index: src/parsing/parser.cc |
| diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc |
| index bfa5e1c27bf89800af62604c7d3a59993f6e4693..757b1e78916bb33a4f6fd47ce9974f2ea3eaa2b7 100644 |
| --- a/src/parsing/parser.cc |
| +++ b/src/parsing/parser.cc |
| @@ -1555,6 +1555,7 @@ void Parser::ParseImportDeclaration(bool* ok) { |
| module_namespace_binding = |
| ParseIdentifier(kDontAllowRestrictedIdentifiers, CHECK_OK_VOID); |
| module_namespace_binding_loc = scanner()->location(); |
| + DeclareImport(module_namespace_binding, pos, CHECK_OK_VOID); |
| break; |
| } |
| @@ -1576,17 +1577,17 @@ void Parser::ParseImportDeclaration(bool* ok) { |
| // Now that we have all the information, we can make the appropriate |
| // declarations. |
| - if (module_namespace_binding != nullptr) { |
| - module()->AddStarImport(module_namespace_binding, module_specifier, |
| - module_namespace_binding_loc, zone()); |
| - // TODO(neis): Create special immutable binding for the namespace object. |
| - } |
| - |
| // TODO(neis): Would prefer to call DeclareImport below rather than above and |
| // in ParseNamedImports, but then a possible error message would point to the |
| // wrong location. Maybe have a DeclareAt version of Declare that takes a |
| // location? |
| + if (module_namespace_binding != nullptr) { |
| + module()->AddStarImport(module_namespace_binding, module_specifier, |
| + module_namespace_binding_loc, zone()); |
| + // DeclareImport(module_namespace_binding, pos, CHECK_OK_VOID); |
|
adamk
2016/08/02 16:34:31
Leave a TODO here?
neis
2016/08/03 09:16:30
Hmm? This is the same as all the other DeclareImpo
adamk
2016/08/03 17:51:26
Oops, didn't look in the right place, I get it.
|
| + } |
| + |
| if (import_default_binding != nullptr) { |
| module()->AddImport(ast_value_factory()->default_string(), |
| import_default_binding, module_specifier, |
| @@ -1943,9 +1944,9 @@ VariableProxy* Parser::NewUnresolved(const AstRawString* name, |
| void Parser::DeclareImport(const AstRawString* local_name, int pos, bool* ok) { |
| DCHECK_NOT_NULL(local_name); |
| - VariableProxy* proxy = NewUnresolved(local_name, IMPORT); |
| + VariableProxy* proxy = NewUnresolved(local_name, CONST); |
| Declaration* declaration = |
| - factory()->NewVariableDeclaration(proxy, IMPORT, scope(), pos); |
| + factory()->NewVariableDeclaration(proxy, CONST, scope(), pos); |
| Declare(declaration, DeclarationDescriptor::NORMAL, true, CHECK_OK_VOID); |
| } |