* [parser] Add private names tracking to Scope - Disallow duplicate private names - Disallow undeclared private names * Update tests * Test all possible duplications * Test undeclared private names * Better error message for top-level private names * Fix flow * Update test262 whitelist * Update fixtures * Update flow whitelist * Remove old output.json * Move ClassScopeHandler to a separate class * Make the code readable
674 B
674 B
These tests have been generated using the following script:
var feat = {
"field": "#x = 0;",
"method": "#x() {}",
"get": "get #x() {}",
"set": "set #x(_) {}",
};
var placement = {
"static": "static ",
"instance": ""
}
for (var f1 in feat) for (var f2 in feat) for (var p1 in placement) for (var p2 in placement) {
var code = `class A {
${placement[p1]}${feat[f1]}
${placement[p2]}${feat[f2]}
}`;
var name = `${p1}-${f1}-${p2}-${f2}`;
var folder = "packages/babel-parser/test/fixtures/experimental/class-private-names-duplicated/" + name;
if (!fs.existsSync(folder)) fs.mkdirSync(folder);
fs.writeFileSync(folder + "/input.js", code);
}