@@ -181,6 +181,10 @@ function declarationIR(name: string, type: TypeIR): DeclarationIR {
181181 return { kind : "declaration" , name, type } ;
182182}
183183
184+ function referenceType ( name : string , typeArgs : TypeIR [ ] = [ ] ) : ReferenceTypeIR {
185+ return { kind : "reference" , name, typeArgs } ;
186+ }
187+
184188const ANY_IR = simpleType ( "Any" ) ;
185189
186190function literalType ( text : string ) : TypeIR {
@@ -409,7 +413,7 @@ class SyntheticTypeConverter {
409413 }
410414 }
411415 this . converter . extraTopLevels . push ( result ) ;
412- return { kind : "reference" , name, typeArgs : [ ] } ;
416+ return referenceType ( name ) ;
413417 }
414418
415419 classifiedTypeToIr (
@@ -459,7 +463,7 @@ class SyntheticTypeConverter {
459463 this . converter . extraTopLevels . push (
460464 this . converter . interfaceToIR ( name , types , [ ] , [ ] , [ ] , [ ] ) ,
461465 ) ;
462- return { kind : "reference" , name, typeArgs : [ ] } ;
466+ return referenceType ( name ) ;
463467 }
464468 case "typeLiteral" : {
465469 return this . doConversion ( [ typeRoot . node ] , modifiers ) ;
@@ -682,7 +686,7 @@ export class Converter {
682686 this . addNeededIdentifier ( ident ) ;
683687 }
684688 }
685- return { kind : "reference" , name : name , typeArgs } ;
689+ return referenceType ( name , typeArgs ) ;
686690 }
687691
688692 otherTypeToIR ( node : Node ) : OtherTypeIR {
@@ -888,7 +892,7 @@ export class Converter {
888892 const typeArgs : ParameterReferenceTypeIR [ ] = classDecl
889893 . getTypeParameters ( )
890894 . map ( ( x ) => ( { kind : "parameterReference" , name : x . getName ( ) } ) ) ;
891- returns = { kind : "reference" , name, typeArgs } ;
895+ returns = referenceType ( name , typeArgs ) ;
892896 }
893897
894898 // Extract type parameters for this specific signature
0 commit comments