resolveName: remove useless case (#28669)

PropertySignature cannot occur in a class.
The condition inside the clause required the parent to be a class, so it was never true.

This removes the case clause and the part of the condition that is now useless.
This commit is contained in:
Klaus Meinhardt 2019-04-26 00:43:43 +02:00 committed by Ryan Cavanaugh
parent f9d12ed54b
commit d865ea774a

View File

@ -1409,15 +1409,14 @@ namespace ts {
}
break;
case SyntaxKind.PropertyDeclaration:
case SyntaxKind.PropertySignature:
// TypeScript 1.0 spec (April 2014): 8.4.1
// Initializer expressions for instance member variables are evaluated in the scope
// of the class constructor body but are not permitted to reference parameters or
// local variables of the constructor. This effectively means that entities from outer scopes
// by the same name as a constructor parameter or local variable are inaccessible
// in initializer expressions for instance member variables.
if (isClassLike(location.parent) && !hasModifier(location, ModifierFlags.Static)) {
const ctor = findConstructorDeclaration(location.parent);
if (!hasModifier(location, ModifierFlags.Static)) {
const ctor = findConstructorDeclaration(location.parent as ClassLikeDeclaration);
if (ctor && ctor.locals) {
if (lookup(ctor.locals, name, meaning & SymbolFlags.Value)) {
// Remember the property node, it will be used later to report appropriate error