Skip to content

Commit f43d9cb

Browse files
authored
Refactor: Add referenceType helper (#84)
1 parent c29843c commit f43d9cb

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

type-generation/src/astToIR.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
184188
const ANY_IR = simpleType("Any");
185189

186190
function 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

Comments
 (0)