Skip to content

Commit 3061a41

Browse files
committed
Add getTypeArguments method to TypeChecker interface
1 parent 27752c6 commit 3061a41

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,7 @@ namespace ts {
382382
getReturnTypeOfSignature,
383383
getNullableType,
384384
getNonNullableType,
385+
getTypeArguments,
385386
typeToTypeNode: nodeBuilder.typeToTypeNode,
386387
indexInfoToIndexSignatureDeclaration: nodeBuilder.indexInfoToIndexSignatureDeclaration,
387388
signatureToSignatureDeclaration: nodeBuilder.signatureToSignatureDeclaration,

src/compiler/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3191,6 +3191,7 @@ namespace ts {
31913191
/* @internal */ getParameterType(signature: Signature, parameterIndex: number): Type;
31923192
getNullableType(type: Type, flags: TypeFlags): Type;
31933193
getNonNullableType(type: Type): Type;
3194+
getTypeArguments(type: TypeReference): readonly Type[];
31943195

31953196
// TODO: GH#18217 `xToDeclaration` calls are frequently asserted as defined.
31963197
/** Note that the resulting nodes cannot be checked. */

src/services/codefixes/inferFromUsage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -993,8 +993,8 @@ namespace ts.codefix {
993993
}
994994
else if (getObjectFlags(genericType) & ObjectFlags.Reference && getObjectFlags(usageType) & ObjectFlags.Reference) {
995995
// this is wrong because we need a reference to the targetType to, so we can check that it's also a reference
996-
const genericArgs = (genericType as TypeReference).typeArguments;
997-
const usageArgs = (usageType as TypeReference).typeArguments;
996+
const genericArgs = checker.getTypeArguments(genericType as TypeReference);
997+
const usageArgs = checker.getTypeArguments(usageType as TypeReference);
998998
const types = [];
999999
if (genericArgs && usageArgs) {
10001000
for (let i = 0; i < genericArgs.length; i++) {

0 commit comments

Comments
 (0)