mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-10 06:41:59 -06:00
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:
parent
f9d12ed54b
commit
d865ea774a
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user