@@ -619,10 +619,9 @@ export function typeNodeToAutoImportableTypeNode(typeNode: TypeNode, importAdder
619
619
return getSynthesizedDeepClone ( typeNode ) ;
620
620
}
621
621
622
- function endOfRequiredTypeParameters ( checker : TypeChecker , type : GenericType , fullTypeArguments : readonly Type [ ] ) : number {
623
- if ( fullTypeArguments !== type . typeArguments ! ) {
624
- throw new Error ( 'fullTypeArguments should be set' )
625
- }
622
+ function endOfRequiredTypeParameters ( checker : TypeChecker , type : GenericType ) : number {
623
+ Debug . assert ( type . typeArguments ) ;
624
+ const fullTypeArguments = type . typeArguments ;
626
625
const target = type . target ;
627
626
next_cutoff: for ( let cutoff = 0 ; cutoff < fullTypeArguments . length ; cutoff ++ ) {
628
627
const typeArguments = fullTypeArguments . slice ( 0 , cutoff ) ;
@@ -635,7 +634,7 @@ function endOfRequiredTypeParameters(checker: TypeChecker, type: GenericType, fu
635
634
}
636
635
// If we make it all the way here, all the type arguments are required.
637
636
return fullTypeArguments . length ;
638
- }
637
+ }
639
638
640
639
export function typeToMinimizedReferenceType ( checker : TypeChecker , type : Type , contextNode : Node | undefined , flags ?: NodeBuilderFlags , internalFlags ?: InternalNodeBuilderFlags , tracker ?: SymbolTracker ) : TypeNode | undefined {
641
640
const typeNode = checker . typeToTypeNode ( type , contextNode , flags , internalFlags , tracker ) ;
@@ -645,9 +644,8 @@ export function typeToMinimizedReferenceType(checker: TypeChecker, type: Type, c
645
644
if ( isTypeReferenceNode ( typeNode ) ) {
646
645
const genericType = type as GenericType ;
647
646
if ( genericType . typeArguments ) {
648
- const cutoff = endOfRequiredTypeParameters ( checker , genericType , genericType . typeArguments ) ;
647
+ const cutoff = endOfRequiredTypeParameters ( checker , genericType ) ;
649
648
if ( cutoff !== undefined && typeNode . typeArguments ) {
650
- // Looks like the wrong way to do this. What APIs should I use here?
651
649
( typeNode as any ) . typeArguments = typeNode . typeArguments . slice ( 0 , cutoff ) ;
652
650
}
653
651
}
0 commit comments