Set syntheticLiteralTypeOrigin on synthetic undefined-type members (#22216)

* Have getNameOfSymbolAsWritten quote nonidentifier nonnumeric symbols all the time

* Revert checker changes

* Reuse synthetic origin to indicate that derived declaration name may need to be quoted
This commit is contained in:
Wesley Wigham
2018-02-28 16:03:05 -08:00
committed by GitHub
parent 1a43ad01a7
commit b8e0009c9b
5 changed files with 58 additions and 0 deletions

View File

@@ -11150,6 +11150,10 @@ namespace ts {
}
const result = createSymbol(SymbolFlags.Property | SymbolFlags.Optional, name);
result.type = undefinedType;
const associatedKeyType = getLiteralType(unescapeLeadingUnderscores(name));
if (associatedKeyType.flags & TypeFlags.StringLiteral) {
result.syntheticLiteralTypeOrigin = associatedKeyType as StringLiteralType;
}
undefinedProperties.set(name, result);
return result;
}