Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
a8d6a45
Move nameType from SymbolLinks to TransientSymbol
ahejlsberg Apr 5, 2018
39bb93f
Move nameType to base Symbol, generate nameType properties where missing
ahejlsberg Apr 5, 2018
fc85ba9
Limit getLiteralTypeFromPropertyName to only return string-like types
ahejlsberg Apr 6, 2018
ccf20d3
Accept new baselines
ahejlsberg Apr 6, 2018
ff20f38
Add support for numbers and symbols in keyof (but keep it disabled)
ahejlsberg Apr 9, 2018
68ce69a
Move 'PropertyKey' from es2015.core.d.ts to es5.d.ts
ahejlsberg Apr 9, 2018
2c02195
Accept new baselines
ahejlsberg Apr 9, 2018
6d93f30
Enable 'keyof T' for full string | number | symbol
ahejlsberg Apr 9, 2018
0379666
Update tests
ahejlsberg Apr 9, 2018
b1545fe
Accept new baselines
ahejlsberg Apr 9, 2018
b40592c
String index signatures do not apply to symbols
ahejlsberg Apr 11, 2018
0a37cd3
Update test
ahejlsberg Apr 11, 2018
b746f8e
Accept new baselines
ahejlsberg Apr 11, 2018
c344e6d
Fixes and improvements to indexed access type relationships
ahejlsberg Apr 15, 2018
6c60f7e
Accept new baselines
ahejlsberg Apr 15, 2018
8cb515a
Add members for numeric and symbol named properties in mapped types
ahejlsberg Apr 16, 2018
16cd558
Merge branch 'master' into improveIndexTypes
ahejlsberg Apr 16, 2018
b11be80
Don't widen unique symbol types during type inference
ahejlsberg Apr 17, 2018
02534cc
Accept new baselines
ahejlsberg Apr 17, 2018
b14d389
For 'T extends { [x: string]: XXX }' constraint of T[keyof T] is XXX
ahejlsberg Apr 18, 2018
254782c
Accept new baselines
ahejlsberg Apr 18, 2018
9e4e215
Revise IndexType to have stringsOnly property
ahejlsberg Apr 18, 2018
5f0d880
Update test
ahejlsberg Apr 18, 2018
eb7bbfb
Properties with numeric names have numeric literal types in keyof T
ahejlsberg Apr 20, 2018
b38e42e
Accept new baselines
ahejlsberg Apr 20, 2018
652e493
Address CR feedback
ahejlsberg Apr 21, 2018
c7f55be
Accept new baselines
ahejlsberg Apr 21, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Limit getLiteralTypeFromPropertyName to only return string-like types
  • Loading branch information
ahejlsberg committed Apr 6, 2018
commit fc85ba9e6a372b1f256e663380457b097c7b9c9d
12 changes: 9 additions & 3 deletions src/compiler/checker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8108,10 +8108,16 @@ namespace ts {
}

function getLiteralTypeFromPropertyName(prop: Symbol) {
if (getDeclarationModifierFlagsFromSymbol(prop) & ModifierFlags.NonPublicAccessibilityModifier || isKnownSymbol(prop)) {
return neverType;
if (!(getDeclarationModifierFlagsFromSymbol(prop) & ModifierFlags.NonPublicAccessibilityModifier)) {
const nameType = getLateBoundSymbol(prop).nameType;
if (nameType) {
return nameType.flags & TypeFlags.StringLiteral ? nameType : neverType;
}
if (!isKnownSymbol(prop)) {
return getLiteralType(symbolName(prop));
}
}
return getLateBoundSymbol(prop).nameType || getLiteralType(symbolName(prop));
return neverType;
}

function getLiteralTypeFromPropertyNames(type: Type) {
Expand Down