Fixed bug in parsing of from import clauses where it didn't detect empty import statements.

This commit is contained in:
Eric Traut 2019-03-16 12:15:20 -07:00
parent 64ef65546b
commit 6a246da971

View File

@ -910,23 +910,25 @@ export class Parser {
while (true) {
let importName = this._getTokenIfIdentifier();
if (importName) {
let importFromAsNode = new ImportFromAsNode(new NameNode(importName));
if (this._consumeTokenIfKeyword(KeywordType.As)) {
let aliasName = this._getTokenIfIdentifier();
if (!aliasName) {
this._addError('Expected alias symbol name', this._peekToken());
} else {
importFromAsNode.alias = new NameNode(aliasName);
importFromAsNode.extend(aliasName);
}
}
importFromNode.imports.push(importFromAsNode);
importFromNode.extend(importFromAsNode);
if (!importName) {
break;
}
let importFromAsNode = new ImportFromAsNode(new NameNode(importName));
if (this._consumeTokenIfKeyword(KeywordType.As)) {
let aliasName = this._getTokenIfIdentifier();
if (!aliasName) {
this._addError('Expected alias symbol name', this._peekToken());
} else {
importFromAsNode.alias = new NameNode(aliasName);
importFromAsNode.extend(aliasName);
}
}
importFromNode.imports.push(importFromAsNode);
importFromNode.extend(importFromAsNode);
if (!this._consumeTokenIfType(TokenType.Comma)) {
break;
}