@@ -3548,9 +3548,8 @@ export class FuSystem extends FuScope
35483548 this.arrayStorageClass.add(FuMethodGroup.new(FuMethod.new(this.arrayStorageClass, FuVisibility.PUBLIC, FuCallType.NORMAL, this.voidType, FuId.ARRAY_FILL_ALL, "Fill", true, FuVar.new(this.#typeParam0, "value")), arrayFillPart));
35493549 this.arrayStorageClass.add(FuProperty.new(this.nIntType, FuId.ARRAY_LENGTH, "Length"));
35503550 this.arrayStorageClass.add(FuMethodGroup.new(FuMethod.new(this.arrayStorageClass, FuVisibility.NUMERIC_ELEMENT_TYPE, FuCallType.NORMAL, this.voidType, FuId.ARRAY_SORT_ALL, "Sort", true), arraySortPart));
3551- let exceptionClass = FuClass.new(FuCallType.NORMAL, FuId.EXCEPTION_CLASS, "Exception");
3552- exceptionClass.isPublic = true;
3553- this.add(exceptionClass);
3551+ this.exceptionClass.isPublic = true;
3552+ this.add(this.exceptionClass);
35543553 let typeParam0NotFinal = Object.assign(new FuType(), { id: FuId.TYPE_PARAM0_NOT_FINAL, name: "T" });
35553554 let typeParam0Predicate = Object.assign(new FuType(), { id: FuId.TYPE_PARAM0_PREDICATE, name: "Predicate<T>" });
35563555 let listClass = this.#addCollection(FuId.LIST_CLASS, "List", 1, FuId.LIST_CLEAR, FuId.LIST_COUNT);
@@ -3724,6 +3723,7 @@ export class FuSystem extends FuScope
37243723 printableType = Object.assign(new FuPrintableType(), { name: "printable" });
37253724 arrayPtrClass = FuClass.new(FuCallType.NORMAL, FuId.ARRAY_PTR_CLASS, "ArrayPtr", 1);
37263725 arrayStorageClass = FuClass.new(FuCallType.NORMAL, FuId.ARRAY_STORAGE_CLASS, "ArrayStorage", 1);
3726+ exceptionClass = FuClass.new(FuCallType.NORMAL, FuId.EXCEPTION_CLASS, "Exception");
37273727 regexOptionsEnum;
37283728 lockPtrType = new FuReadWriteClassType();
37293729
@@ -15118,6 +15118,9 @@ export class GenCpp extends GenCCpp
1511815118 this.write("const ");
1511915119 if (klass.class.typeParameterCount == 0) {
1512015120 switch (klass.class.id) {
15121+ case FuId.EXCEPTION_CLASS:
15122+ this.writeExceptionClass(klass.class);
15123+ break;
1512115124 case FuId.TEXT_WRITER_CLASS:
1512215125 this.include("iostream");
1512315126 this.write("std::ostream");
@@ -23069,6 +23072,9 @@ export class GenTs extends GenJs
2306923072 this.writeArrayElementType(klass.getElementType());
2307023073 this.write("Array");
2307123074 break;
23075+ case FuId.EXCEPTION_CLASS:
23076+ this.writeExceptionClass(klass.class);
23077+ break;
2307223078 case FuId.HASH_SET_CLASS:
2307323079 case FuId.SORTED_SET_CLASS:
2307423080 this.write("Set<");
@@ -23939,6 +23945,9 @@ export class GenSwift extends GenPySwift
2393923945 this.#writeType(klass.getElementType());
2394023946 this.writeChar(93);
2394123947 break;
23948+ case FuId.EXCEPTION_CLASS:
23949+ this.writeExceptionClass(klass.class);
23950+ break;
2394223951 case FuId.HASH_SET_CLASS:
2394323952 case FuId.SORTED_SET_CLASS:
2394423953 this.write("Set<");
@@ -26083,6 +26092,7 @@ export class GenPy extends GenPySwift
2608326092 nullable = nullable ? !(klass instanceof FuStorageType) : klass.nullable;
2608426093 switch (klass.class.id) {
2608526094 case FuId.NONE:
26095+ case FuId.EXCEPTION_CLASS:
2608626096 if (nullable && !this.writtenTypes.has(klass.class)) {
2608726097 this.writeChar(34);
2608826098 this.writeName(klass.class);
@@ -27554,6 +27564,7 @@ export class GenPy extends GenPySwift
2755427564 writeProgram(program, outputFile, namespace)
2755527565 {
2755627566 this.writtenTypes.clear();
27567+ this.writtenTypes.add(program.system.exceptionClass);
2755727568 this.#timeNs = false;
2755827569 this.#switchBreak = false;
2755927570 this.openStringWriter();
0 commit comments