mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-03-15 14:05:47 -05:00
@@ -865,12 +865,12 @@ module ts {
|
||||
return createMissingList<T>();
|
||||
}
|
||||
|
||||
function parseEntityName(): EntityName {
|
||||
function parseEntityName(allowReservedWords?: boolean): EntityName {
|
||||
var entity: EntityName = parseIdentifier();
|
||||
while (parseOptional(SyntaxKind.DotToken)) {
|
||||
var node = <QualifiedName>createNode(SyntaxKind.QualifiedName, entity.pos);
|
||||
node.left = entity;
|
||||
node.right = parseIdentifier();
|
||||
node.right = allowReservedWords ? parseIdentifierName() : parseIdentifier();
|
||||
entity = finishNode(node);
|
||||
}
|
||||
return entity;
|
||||
@@ -909,7 +909,7 @@ module ts {
|
||||
function parseTypeQuery(): TypeQueryNode {
|
||||
var node = <TypeQueryNode>createNode(SyntaxKind.TypeQuery);
|
||||
parseExpected(SyntaxKind.TypeOfKeyword);
|
||||
node.exprName = parseEntityName();
|
||||
node.exprName = parseEntityName(/*allowReservedWords*/ true);
|
||||
return finishNode(node);
|
||||
}
|
||||
|
||||
|
||||
29
tests/baselines/reference/typeQueryWithReservedWords.js
Normal file
29
tests/baselines/reference/typeQueryWithReservedWords.js
Normal file
@@ -0,0 +1,29 @@
|
||||
//// [typeQueryWithReservedWords.ts]
|
||||
class Controller {
|
||||
create() {
|
||||
}
|
||||
delete() {
|
||||
}
|
||||
var() {
|
||||
}
|
||||
}
|
||||
|
||||
interface IScope {
|
||||
create: typeof Controller.prototype.create;
|
||||
delete: typeof Controller.prototype.delete; // Should not error
|
||||
var: typeof Controller.prototype.var; // Should not error
|
||||
}
|
||||
|
||||
|
||||
//// [typeQueryWithReservedWords.js]
|
||||
var Controller = (function () {
|
||||
function Controller() {
|
||||
}
|
||||
Controller.prototype.create = function () {
|
||||
};
|
||||
Controller.prototype.delete = function () {
|
||||
};
|
||||
Controller.prototype.var = function () {
|
||||
};
|
||||
return Controller;
|
||||
})();
|
||||
@@ -0,0 +1,14 @@
|
||||
class Controller {
|
||||
create() {
|
||||
}
|
||||
delete() {
|
||||
}
|
||||
var() {
|
||||
}
|
||||
}
|
||||
|
||||
interface IScope {
|
||||
create: typeof Controller.prototype.create;
|
||||
delete: typeof Controller.prototype.delete; // Should not error
|
||||
var: typeof Controller.prototype.var; // Should not error
|
||||
}
|
||||
Reference in New Issue
Block a user