Merge pull request #4730 from Microsoft/fix4727
prerocess `export import` declarations correctly
This commit is contained in:
commit
828c37e72b
|
@ -2152,6 +2152,7 @@ namespace ts {
|
|||
//
|
||||
// export * from "mod"
|
||||
// export {a as b} from "mod"
|
||||
// export import i = require("mod")
|
||||
|
||||
while (token !== SyntaxKind.EndOfFileToken) {
|
||||
if (token === SyntaxKind.DeclareKeyword) {
|
||||
|
@ -2276,6 +2277,25 @@ namespace ts {
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (token === SyntaxKind.ImportKeyword) {
|
||||
token = scanner.scan();
|
||||
if (token === SyntaxKind.Identifier || isKeyword(token)) {
|
||||
token = scanner.scan();
|
||||
if (token === SyntaxKind.EqualsToken) {
|
||||
token = scanner.scan();
|
||||
if (token === SyntaxKind.RequireKeyword) {
|
||||
token = scanner.scan();
|
||||
if (token === SyntaxKind.OpenParenToken) {
|
||||
token = scanner.scan();
|
||||
if (token === SyntaxKind.StringLiteral) {
|
||||
// export import i = require("mod");
|
||||
recordModuleName();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
token = scanner.scan();
|
||||
}
|
||||
|
|
|
@ -173,6 +173,20 @@ describe('PreProcessFile:', function () {
|
|||
isLibFile: false
|
||||
})
|
||||
});
|
||||
|
||||
it("Correctly handeles export import declarations", function () {
|
||||
test("export import a = require(\"m1\");",
|
||||
true,
|
||||
{
|
||||
referencedFiles: [],
|
||||
importedFiles: [
|
||||
{ fileName: "m1", pos: 26, end: 28 }
|
||||
],
|
||||
ambientExternalModules: undefined,
|
||||
isLibFile: false
|
||||
})
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue