OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 6102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6113 CHECK(declarations->AtForTest(12)->proxy()->raw_name()->IsOneByteEqualTo( | 6113 CHECK(declarations->AtForTest(12)->proxy()->raw_name()->IsOneByteEqualTo( |
6114 "foob")); | 6114 "foob")); |
6115 CHECK(declarations->AtForTest(12)->proxy()->var()->mode() == i::CONST); | 6115 CHECK(declarations->AtForTest(12)->proxy()->var()->mode() == i::CONST); |
6116 CHECK(!declarations->AtForTest(12)->proxy()->var()->binding_needs_init()); | 6116 CHECK(!declarations->AtForTest(12)->proxy()->var()->binding_needs_init()); |
6117 CHECK(declarations->AtForTest(12)->proxy()->var()->location() == | 6117 CHECK(declarations->AtForTest(12)->proxy()->var()->location() == |
6118 i::VariableLocation::MODULE); | 6118 i::VariableLocation::MODULE); |
6119 | 6119 |
6120 i::ModuleDescriptor* descriptor = module_scope->module(); | 6120 i::ModuleDescriptor* descriptor = module_scope->module(); |
6121 CHECK_NOT_NULL(descriptor); | 6121 CHECK_NOT_NULL(descriptor); |
6122 | 6122 |
6123 CHECK_EQ(5, descriptor->module_requests().size()); | 6123 CHECK_EQ(5u, descriptor->module_requests().size()); |
6124 for (const auto& elem : descriptor->module_requests()) { | 6124 for (const auto& elem : descriptor->module_requests()) { |
6125 if (elem.first->IsOneByteEqualTo("m.js")) | 6125 if (elem.first->IsOneByteEqualTo("m.js")) |
6126 CHECK_EQ(elem.second, 0); | 6126 CHECK_EQ(elem.second, 0); |
6127 else if (elem.first->IsOneByteEqualTo("n.js")) | 6127 else if (elem.first->IsOneByteEqualTo("n.js")) |
6128 CHECK_EQ(elem.second, 1); | 6128 CHECK_EQ(elem.second, 1); |
6129 else if (elem.first->IsOneByteEqualTo("p.js")) | 6129 else if (elem.first->IsOneByteEqualTo("p.js")) |
6130 CHECK_EQ(elem.second, 2); | 6130 CHECK_EQ(elem.second, 2); |
6131 else if (elem.first->IsOneByteEqualTo("q.js")) | 6131 else if (elem.first->IsOneByteEqualTo("q.js")) |
6132 CHECK_EQ(elem.second, 3); | 6132 CHECK_EQ(elem.second, 3); |
6133 else if (elem.first->IsOneByteEqualTo("bar.js")) | 6133 else if (elem.first->IsOneByteEqualTo("bar.js")) |
6134 CHECK_EQ(elem.second, 4); | 6134 CHECK_EQ(elem.second, 4); |
6135 else | 6135 else |
6136 CHECK(false); | 6136 CHECK(false); |
6137 } | 6137 } |
6138 | 6138 |
6139 CHECK_EQ(3, descriptor->special_exports().length()); | 6139 CHECK_EQ(3, descriptor->special_exports().length()); |
6140 CheckEntry(descriptor->special_exports().at(0), "b", nullptr, "a", 0); | 6140 CheckEntry(descriptor->special_exports().at(0), "b", nullptr, "a", 0); |
6141 CheckEntry(descriptor->special_exports().at(1), nullptr, nullptr, nullptr, 2); | 6141 CheckEntry(descriptor->special_exports().at(1), nullptr, nullptr, nullptr, 2); |
6142 CheckEntry(descriptor->special_exports().at(2), "bb", nullptr, "aa", | 6142 CheckEntry(descriptor->special_exports().at(2), "bb", nullptr, "aa", |
6143 0); // !!! | 6143 0); // !!! |
6144 | 6144 |
6145 CHECK_EQ(8, descriptor->regular_exports().size()); | 6145 CHECK_EQ(8u, descriptor->regular_exports().size()); |
6146 entry = descriptor->regular_exports() | 6146 entry = descriptor->regular_exports() |
6147 .find(declarations->AtForTest(3)->proxy()->raw_name()) | 6147 .find(declarations->AtForTest(3)->proxy()->raw_name()) |
6148 ->second; | 6148 ->second; |
6149 CheckEntry(entry, "foo", "foo", nullptr, -1); | 6149 CheckEntry(entry, "foo", "foo", nullptr, -1); |
6150 entry = descriptor->regular_exports() | 6150 entry = descriptor->regular_exports() |
6151 .find(declarations->AtForTest(4)->proxy()->raw_name()) | 6151 .find(declarations->AtForTest(4)->proxy()->raw_name()) |
6152 ->second; | 6152 ->second; |
6153 CheckEntry(entry, "goo", "goo", nullptr, -1); | 6153 CheckEntry(entry, "goo", "goo", nullptr, -1); |
6154 entry = descriptor->regular_exports() | 6154 entry = descriptor->regular_exports() |
6155 .find(declarations->AtForTest(5)->proxy()->raw_name()) | 6155 .find(declarations->AtForTest(5)->proxy()->raw_name()) |
6156 ->second; | 6156 ->second; |
6157 CheckEntry(entry, "hoo", "hoo", nullptr, -1); | 6157 CheckEntry(entry, "hoo", "hoo", nullptr, -1); |
6158 entry = descriptor->regular_exports() | 6158 entry = descriptor->regular_exports() |
6159 .find(declarations->AtForTest(6)->proxy()->raw_name()) | 6159 .find(declarations->AtForTest(6)->proxy()->raw_name()) |
6160 ->second; | 6160 ->second; |
6161 CheckEntry(entry, "joo", "joo", nullptr, -1); | 6161 CheckEntry(entry, "joo", "joo", nullptr, -1); |
6162 entry = descriptor->regular_exports() | 6162 entry = descriptor->regular_exports() |
6163 .find(declarations->AtForTest(7)->proxy()->raw_name()) | 6163 .find(declarations->AtForTest(7)->proxy()->raw_name()) |
6164 ->second; | 6164 ->second; |
6165 CheckEntry(entry, "default", "*default*", nullptr, -1); | 6165 CheckEntry(entry, "default", "*default*", nullptr, -1); |
6166 entry = descriptor->regular_exports() | 6166 entry = descriptor->regular_exports() |
6167 .find(declarations->AtForTest(12)->proxy()->raw_name()) | 6167 .find(declarations->AtForTest(12)->proxy()->raw_name()) |
6168 ->second; | 6168 ->second; |
6169 CheckEntry(entry, "foob", "foob", nullptr, -1); | 6169 CheckEntry(entry, "foob", "foob", nullptr, -1); |
6170 // TODO(neis): The next lines are terrible. Find a better way. | 6170 // TODO(neis): The next lines are terrible. Find a better way. |
6171 auto name_x = declarations->AtForTest(0)->proxy()->raw_name(); | 6171 auto name_x = declarations->AtForTest(0)->proxy()->raw_name(); |
6172 CHECK_EQ(2, descriptor->regular_exports().count(name_x)); | 6172 CHECK_EQ(2u, descriptor->regular_exports().count(name_x)); |
6173 auto it = descriptor->regular_exports().equal_range(name_x).first; | 6173 auto it = descriptor->regular_exports().equal_range(name_x).first; |
6174 entry = it->second; | 6174 entry = it->second; |
6175 if (entry->export_name->IsOneByteEqualTo("y")) { | 6175 if (entry->export_name->IsOneByteEqualTo("y")) { |
6176 CheckEntry(entry, "y", "x", nullptr, -1); | 6176 CheckEntry(entry, "y", "x", nullptr, -1); |
6177 entry = (++it)->second; | 6177 entry = (++it)->second; |
6178 CheckEntry(entry, "x", "x", nullptr, -1); | 6178 CheckEntry(entry, "x", "x", nullptr, -1); |
6179 } else { | 6179 } else { |
6180 CheckEntry(entry, "x", "x", nullptr, -1); | 6180 CheckEntry(entry, "x", "x", nullptr, -1); |
6181 entry = (++it)->second; | 6181 entry = (++it)->second; |
6182 CheckEntry(entry, "y", "x", nullptr, -1); | 6182 CheckEntry(entry, "y", "x", nullptr, -1); |
6183 } | 6183 } |
6184 | 6184 |
6185 CHECK_EQ(2, descriptor->namespace_imports().length()); | 6185 CHECK_EQ(2, descriptor->namespace_imports().length()); |
6186 CheckEntry(descriptor->namespace_imports().at(0), nullptr, "loo", nullptr, 4); | 6186 CheckEntry(descriptor->namespace_imports().at(0), nullptr, "loo", nullptr, 4); |
6187 CheckEntry(descriptor->namespace_imports().at(1), nullptr, "foob", nullptr, | 6187 CheckEntry(descriptor->namespace_imports().at(1), nullptr, "foob", nullptr, |
6188 4); | 6188 4); |
6189 | 6189 |
6190 CHECK_EQ(4, descriptor->regular_imports().size()); | 6190 CHECK_EQ(4u, descriptor->regular_imports().size()); |
6191 entry = descriptor->regular_imports() | 6191 entry = descriptor->regular_imports() |
6192 .find(declarations->AtForTest(1)->proxy()->raw_name()) | 6192 .find(declarations->AtForTest(1)->proxy()->raw_name()) |
6193 ->second; | 6193 ->second; |
6194 CheckEntry(entry, nullptr, "z", "q", 0); | 6194 CheckEntry(entry, nullptr, "z", "q", 0); |
6195 entry = descriptor->regular_imports() | 6195 entry = descriptor->regular_imports() |
6196 .find(declarations->AtForTest(2)->proxy()->raw_name()) | 6196 .find(declarations->AtForTest(2)->proxy()->raw_name()) |
6197 ->second; | 6197 ->second; |
6198 CheckEntry(entry, nullptr, "n", "default", 1); | 6198 CheckEntry(entry, nullptr, "n", "default", 1); |
6199 entry = descriptor->regular_imports() | 6199 entry = descriptor->regular_imports() |
6200 .find(declarations->AtForTest(9)->proxy()->raw_name()) | 6200 .find(declarations->AtForTest(9)->proxy()->raw_name()) |
(...skipping 2122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8323 const char* data[] = { | 8323 const char* data[] = { |
8324 "const arguments = 1", | 8324 "const arguments = 1", |
8325 "let arguments", | 8325 "let arguments", |
8326 "var arguments", | 8326 "var arguments", |
8327 NULL | 8327 NULL |
8328 }; | 8328 }; |
8329 // clang-format on | 8329 // clang-format on |
8330 RunParserSyncTest(context_data, data, kSuccess); | 8330 RunParserSyncTest(context_data, data, kSuccess); |
8331 } | 8331 } |
8332 } | 8332 } |
OLD | NEW |