Add getTypeArguments method to TypeChecker interface
This commit is contained in:
parent
27752c642f
commit
3061a418a4
|
@ -382,6 +382,7 @@ namespace ts {
|
||||||
getReturnTypeOfSignature,
|
getReturnTypeOfSignature,
|
||||||
getNullableType,
|
getNullableType,
|
||||||
getNonNullableType,
|
getNonNullableType,
|
||||||
|
getTypeArguments,
|
||||||
typeToTypeNode: nodeBuilder.typeToTypeNode,
|
typeToTypeNode: nodeBuilder.typeToTypeNode,
|
||||||
indexInfoToIndexSignatureDeclaration: nodeBuilder.indexInfoToIndexSignatureDeclaration,
|
indexInfoToIndexSignatureDeclaration: nodeBuilder.indexInfoToIndexSignatureDeclaration,
|
||||||
signatureToSignatureDeclaration: nodeBuilder.signatureToSignatureDeclaration,
|
signatureToSignatureDeclaration: nodeBuilder.signatureToSignatureDeclaration,
|
||||||
|
|
|
@ -3191,6 +3191,7 @@ namespace ts {
|
||||||
/* @internal */ getParameterType(signature: Signature, parameterIndex: number): Type;
|
/* @internal */ getParameterType(signature: Signature, parameterIndex: number): Type;
|
||||||
getNullableType(type: Type, flags: TypeFlags): Type;
|
getNullableType(type: Type, flags: TypeFlags): Type;
|
||||||
getNonNullableType(type: Type): Type;
|
getNonNullableType(type: Type): Type;
|
||||||
|
getTypeArguments(type: TypeReference): readonly Type[];
|
||||||
|
|
||||||
// TODO: GH#18217 `xToDeclaration` calls are frequently asserted as defined.
|
// TODO: GH#18217 `xToDeclaration` calls are frequently asserted as defined.
|
||||||
/** Note that the resulting nodes cannot be checked. */
|
/** Note that the resulting nodes cannot be checked. */
|
||||||
|
|
|
@ -993,8 +993,8 @@ namespace ts.codefix {
|
||||||
}
|
}
|
||||||
else if (getObjectFlags(genericType) & ObjectFlags.Reference && getObjectFlags(usageType) & ObjectFlags.Reference) {
|
else if (getObjectFlags(genericType) & ObjectFlags.Reference && getObjectFlags(usageType) & ObjectFlags.Reference) {
|
||||||
// this is wrong because we need a reference to the targetType to, so we can check that it's also a reference
|
// this is wrong because we need a reference to the targetType to, so we can check that it's also a reference
|
||||||
const genericArgs = (genericType as TypeReference).typeArguments;
|
const genericArgs = checker.getTypeArguments(genericType as TypeReference);
|
||||||
const usageArgs = (usageType as TypeReference).typeArguments;
|
const usageArgs = checker.getTypeArguments(usageType as TypeReference);
|
||||||
const types = [];
|
const types = [];
|
||||||
if (genericArgs && usageArgs) {
|
if (genericArgs && usageArgs) {
|
||||||
for (let i = 0; i < genericArgs.length; i++) {
|
for (let i = 0; i < genericArgs.length; i++) {
|
||||||
|
|
Loading…
Reference in a new issue