Skip to content

Commit e02da34

Browse files
committed
Retrieve type parameter constraint using getConstraintFromTypeParameter
1 parent 1a20b6a commit e02da34

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

src/compiler/checker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ namespace ts {
205205
getEmitResolver,
206206
getExportsOfModule: getExportsOfModuleAsArray,
207207
getExportsAndPropertiesOfModule,
208-
getSymbolWalker: createGetSymbolWalker(getRestTypeOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType),
208+
getSymbolWalker: createGetSymbolWalker(getRestTypeOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType, getConstraintFromTypeParameter),
209209
getAmbientModules,
210210
getAllAttributesTypeFromJsxOpeningLikeElement: node => {
211211
node = getParseTreeNode(node, isJsxOpeningLikeElement);

src/compiler/symbolWalker.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ namespace ts {
77
resolveStructuredTypeMembers: (type: ObjectType) => ResolvedType,
88
getTypeOfSymbol: (sym: Symbol) => Type,
99
getResolvedSymbol: (node: Node) => Symbol,
10-
getIndexTypeOfStructuredType: (type: Type, kind: IndexKind) => Type) {
10+
getIndexTypeOfStructuredType: (type: Type, kind: IndexKind) => Type,
11+
getConstraintFromTypeParameter: (typeParameter: TypeParameter) => Type) {
1112

1213
return getSymbolWalker;
1314

@@ -92,7 +93,7 @@ namespace ts {
9293
}
9394

9495
function visitTypeParameter(type: TypeParameter): void {
95-
visitType(type.constraint);
96+
visitType(getConstraintFromTypeParameter(type));
9697
}
9798

9899
function visitUnionOrIntersectionType(type: UnionOrIntersectionType): void {

src/compiler/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -3377,6 +3377,7 @@ namespace ts {
33773377

33783378
// Type parameters (TypeFlags.TypeParameter)
33793379
export interface TypeParameter extends TypeVariable {
3380+
/** Retrieve using getConstraintFromTypeParameter */
33803381
constraint: Type; // Constraint
33813382
default?: Type;
33823383
/* @internal */

0 commit comments

Comments
 (0)