Skip to content

Commit 2bd39e5

Browse files
author
Andy Hanson
committed
EntityNameExpression doesn't need to include ParenthesizedExpression
1 parent be0fcd5 commit 2bd39e5

File tree

4 files changed

+4
-14
lines changed

4 files changed

+4
-14
lines changed

src/compiler/checker.ts

+1-11
Original file line numberDiff line numberDiff line change
@@ -1975,8 +1975,7 @@ namespace ts {
19751975
if (name.kind === SyntaxKind.QualifiedName) {
19761976
left = (<QualifiedName>name).left;
19771977
}
1978-
else if (name.kind === SyntaxKind.PropertyAccessExpression &&
1979-
(name.expression.kind === SyntaxKind.ParenthesizedExpression || isEntityNameExpression(name.expression))) {
1978+
else if (name.kind === SyntaxKind.PropertyAccessExpression) {
19801979
left = name.expression;
19811980
}
19821981
else {
@@ -2005,15 +2004,6 @@ namespace ts {
20052004
return undefined;
20062005
}
20072006
}
2008-
else if (name.kind === SyntaxKind.ParenthesizedExpression) {
2009-
// If the expression in parenthesizedExpression is not an entity-name (e.g. it is a call expression), it won't be able to successfully resolve the name.
2010-
// This is the case when we are trying to do any language service operation in heritage clauses.
2011-
// By return undefined, the getSymbolOfEntityNameOrPropertyAccessExpression will attempt to checkPropertyAccessExpression to resolve symbol.
2012-
// i.e class C extends foo()./*do language service operation here*/B {}
2013-
return isEntityNameExpression(name.expression) ?
2014-
resolveEntityName(name.expression as EntityNameOrEntityNameExpression, meaning, ignoreErrors, dontResolveAlias, location) :
2015-
undefined;
2016-
}
20172007
else {
20182008
Debug.assertNever(name, "Unknown entity name kind.");
20192009
}

src/compiler/types.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1622,7 +1622,7 @@ namespace ts {
16221622
multiLine?: boolean;
16231623
}
16241624

1625-
export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression | ParenthesizedExpression;
1625+
export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
16261626
export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
16271627

16281628
export interface PropertyAccessExpression extends MemberExpression, NamedDeclaration {

tests/baselines/reference/api/tsserverlibrary.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ declare namespace ts {
969969
interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike> {
970970
kind: SyntaxKind.ObjectLiteralExpression;
971971
}
972-
type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression | ParenthesizedExpression;
972+
type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
973973
type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
974974
interface PropertyAccessExpression extends MemberExpression, NamedDeclaration {
975975
kind: SyntaxKind.PropertyAccessExpression;

tests/baselines/reference/api/typescript.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ declare namespace ts {
969969
interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike> {
970970
kind: SyntaxKind.ObjectLiteralExpression;
971971
}
972-
type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression | ParenthesizedExpression;
972+
type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
973973
type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
974974
interface PropertyAccessExpression extends MemberExpression, NamedDeclaration {
975975
kind: SyntaxKind.PropertyAccessExpression;

0 commit comments

Comments
 (0)