Skip to content

Commit ccd98af

Browse files
committed
Simplify property symbol logic in checkObjectLiteral
1 parent 0b31860 commit ccd98af

1 file changed

Lines changed: 5 additions & 12 deletions

File tree

src/compiler/checker.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5459,7 +5459,7 @@ namespace ts {
54595459
if (!(<InterfaceTypeWithDeclaredMembers>type).declaredProperties) {
54605460
const symbol = type.symbol;
54615461
const members = getMembersOfSymbol(symbol);
5462-
(<InterfaceTypeWithDeclaredMembers>type).declaredProperties = getNamedMembers(getMembersOfSymbol(symbol));
5462+
(<InterfaceTypeWithDeclaredMembers>type).declaredProperties = getNamedMembers(members);
54635463
(<InterfaceTypeWithDeclaredMembers>type).declaredCallSignatures = getSignaturesOfSymbol(members.get(InternalSymbolName.Call));
54645464
(<InterfaceTypeWithDeclaredMembers>type).declaredConstructSignatures = getSignaturesOfSymbol(members.get(InternalSymbolName.New));
54655465
(<InterfaceTypeWithDeclaredMembers>type).declaredStringIndexInfo = getIndexInfoOfSymbol(symbol, IndexKind.String);
@@ -14222,17 +14222,10 @@ namespace ts {
1422214222

1422314223
typeFlags |= type.flags;
1422414224

14225-
let prop: TransientSymbol;
14226-
if (hasLateBindableName(memberDecl)) {
14227-
const nameType = checkComputedPropertyName(memberDecl.name);
14228-
if (nameType && isTypeUsableAsLateBoundName(nameType)) {
14229-
prop = createSymbol(SymbolFlags.Property | SymbolFlags.Late | member.flags, getLateBoundNameFromType(nameType));
14230-
}
14231-
}
14232-
14233-
if (!prop) {
14234-
prop = createSymbol(SymbolFlags.Property | member.flags, literalName || member.escapedName);
14235-
}
14225+
const nameType = hasLateBindableName(memberDecl) ? checkComputedPropertyName(memberDecl.name) : undefined;
14226+
const prop = nameType && isTypeUsableAsLateBoundName(nameType)
14227+
? createSymbol(SymbolFlags.Property | SymbolFlags.Late | member.flags, getLateBoundNameFromType(nameType))
14228+
: createSymbol(SymbolFlags.Property | member.flags, literalName || member.escapedName);
1423614229

1423714230
if (inDestructuringPattern) {
1423814231
// If object literal is an assignment pattern and if the assignment pattern specifies a default value

0 commit comments

Comments
 (0)