Skip to content

Commit 72a8102

Browse files
committed
[[FIX]] Correct interpretation of ImportSpecifier
1 parent 3a9fa87 commit 72a8102

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

src/jshint.js

+4-7
Original file line numberDiff line numberDiff line change
@@ -5581,15 +5581,12 @@ var JSHINT = (function() {
55815581
break;
55825582
}
55835583
var importName;
5584-
if (state.tokens.next.type === "default") {
5585-
importName = "default";
5586-
advance("default");
5587-
} else {
5588-
importName = identifier(context);
5589-
}
5590-
if (state.tokens.next.value === "as") {
5584+
if (peek().value === "as") {
5585+
identifier(context, true);
55915586
advance("as");
55925587
importName = identifier(context);
5588+
} else {
5589+
importName = identifier(context);
55935590
}
55945591

55955592
// Import bindings are immutable (see ES6 8.1.1.5.5)

tests/test262/expectations.txt

-2
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,6 @@ test/language/module-code/early-export-global.js(default)
161161
test/language/module-code/early-export-global.js(strict mode)
162162
test/language/module-code/early-export-unresolvable.js(default)
163163
test/language/module-code/early-export-unresolvable.js(strict mode)
164-
test/language/module-code/instn-named-id-name.js(default)
165-
test/language/module-code/instn-named-id-name.js(strict mode)
166164
test/language/module-code/parse-err-hoist-lex-fun.js(default)
167165
test/language/module-code/parse-err-hoist-lex-fun.js(strict mode)
168166
test/language/module-code/parse-err-hoist-lex-gen.js(default)

tests/unit/core.js

+6
Original file line numberDiff line numberDiff line change
@@ -990,6 +990,12 @@ exports.testES6Modules = function (test) {
990990
"export default async function * () { yield 0; await 0; }",
991991
], { esversion: 9, module: true });
992992

993+
TestRun(test, "IdentifierName in renamed import/export")
994+
.test([
995+
"import { if as x } from '.';",
996+
"export { x as if } from '.';"
997+
], { esversion: 6, module: true });
998+
993999
test.done();
9941000
};
9951001

0 commit comments

Comments
 (0)