@@ -847,6 +847,9 @@ add_test(NAME test-compile-include-global-var COMMAND test-runner "${PROJECT_SOU
847847# imports support only compile mode
848848add_test (NAME test -compile-import-component COMMAND test -runner "${PROJECT_SOURCE_DIR } /test/tester/tests/component.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/service.ts" )
849849add_test (NAME test -compile-export-import-class-interface COMMAND test -runner "${PROJECT_SOURCE_DIR } /test/tester/tests/import_class_interface.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_class_interface.ts" )
850+ add_test (NAME test -compile-export-import-class-extends COMMAND test -runner "${PROJECT_SOURCE_DIR } /test/tester/tests/import_class_extends.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_class_extends.ts" )
851+ add_test (NAME test -compile-export-import-class-extends-multilevel COMMAND test -runner "${PROJECT_SOURCE_DIR } /test/tester/tests/import_class_extends_multilevel.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_class_extends_multilevel.ts" )
852+ add_test (NAME test -compile-export-import-class-extends-implements-diamond COMMAND test -runner "${PROJECT_SOURCE_DIR } /test/tester/tests/import_class_extends_implements_diamond.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_class_extends_implements_diamond.ts" )
850853
851854# shared libs tests (dlls/compile-time)
852855add_test (NAME test -compile-time-shared-decl-emit-type COMMAND test -runner -shared -compile-time "${PROJECT_SOURCE_DIR } /test/tester/tests/emit_compiletime_func.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/decl_type.ts" )
@@ -862,6 +865,30 @@ add_test(NAME test-compile-shared-decl-emit-class COMMAND test-runner -shared "$
862865# shared libs tests (exports/imports)
863866add_test (NAME test -compile-shared-export-import-class-interface COMMAND test -runner -shared "${PROJECT_SOURCE_DIR } /test/tester/tests/import_class_interface.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_class_interface.ts" )
864867add_test (NAME test -compile-shared-export-import-object-literal-with-class-types COMMAND test -runner -shared "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_with_class_types.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_with_class_types.ts" )
868+ # KNOWN ISSUE (pre-existing, not a regression from the crash fix below): a
869+ # derived class whose base class lives in another module ("shared lib" /
870+ # cross-module `class extends`) does not reliably work end-to-end through
871+ # test-runner's actual -shared invocation (no explicit --shared-libs for the
872+ # imported DLL; the import statement's own auto-load is all that's used) -
873+ # AOT fails to link (missing dllimport linkage on the compiler-synthesized
874+ # `.instanceOf` method every class gets) and JIT fails to even compile
875+ # (`.instanceOf` sometimes never gets synthesized/registered at all - a
876+ # discovery/partial-resolve pass ordering bug: it depends sensitively on
877+ # exact compile-time sequencing, e.g. a manual repro that adds an extra
878+ # --shared-libs flag "accidentally" avoids it). Two attempts at a targeted
879+ # fix (deferring synthesis until a non-speculative pass) were reverted after
880+ # each caused an INFINITE LOOP in unrelated same-module class tests (a
881+ # same-module class's own discovery retry loop can also always run under
882+ # allowPartialResolve, so deferring "until a real pass" can mean forever) -
883+ # worse than the original clean compile error, so left as a known issue
884+ # rather than risk that regression again. What IS fixed and verified: the
885+ # crash (access violation) that used to occur instead of this clean error -
886+ # see MLIRGenFunctions.cpp's mlirGenFunctionLikeDeclarationDynamicImport
887+ # (registration name/map fix) and MLIRGenImpl.h's ClassMethodAccess
888+ # (FuncOp-or-variable dual lookup with a null-check backstop).
889+ # add_test(NAME test-compile-shared-export-import-class-extends COMMAND test-runner -shared "${PROJECT_SOURCE_DIR}/test/tester/tests/import_class_extends.ts" "${PROJECT_SOURCE_DIR}/test/tester/tests/export_class_extends.ts")
890+ # add_test(NAME test-compile-shared-export-import-class-extends-implements-diamond COMMAND test-runner -shared "${PROJECT_SOURCE_DIR}/test/tester/tests/import_class_extends_implements_diamond.ts" "${PROJECT_SOURCE_DIR}/test/tester/tests/export_class_extends_implements_diamond.ts")
891+ # add_test(NAME test-compile-shared-export-import-class-extends-multilevel COMMAND test-runner -shared "${PROJECT_SOURCE_DIR}/test/tester/tests/import_class_extends_multilevel.ts" "${PROJECT_SOURCE_DIR}/test/tester/tests/export_class_extends_multilevel.ts")
865892add_test (NAME test -compile-shared-export-import-object-literal-with-interface COMMAND test -runner -shared -gctors-as-method "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_with_interface.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_with_interface.ts" )
866893add_test (NAME test -compile-shared-export-import-object-literal-untyped COMMAND test -runner -shared -gctors-as-method "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_untyped.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_untyped.ts" )
867894add_test (NAME test -compile-shared-export-import-object-literal-untyped-multi-method COMMAND test -runner -shared -gctors-as-method "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_untyped_multi_method.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_untyped_multi_method.ts" )
@@ -888,6 +915,10 @@ add_test(NAME test-jit-shared-decl-emit-class COMMAND test-runner -jit -shared "
888915# shared libs tests (exports/imports)
889916add_test (NAME test -jit-shared-export-import-class-interface COMMAND test -runner -jit -shared "${PROJECT_SOURCE_DIR } /test/tester/tests/import_class_interface.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_class_interface.ts" )
890917add_test (NAME test -jit-shared-export-import-object-literal-with-class-types COMMAND test -runner -jit -shared "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_with_class_types.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_with_class_types.ts" )
918+ # KNOWN ISSUE - see the matching commented-out compile-shared entries above.
919+ # add_test(NAME test-jit-shared-export-import-class-extends COMMAND test-runner -jit -shared "${PROJECT_SOURCE_DIR}/test/tester/tests/import_class_extends.ts" "${PROJECT_SOURCE_DIR}/test/tester/tests/export_class_extends.ts")
920+ # add_test(NAME test-jit-shared-export-import-class-extends-multilevel COMMAND test-runner -jit -shared "${PROJECT_SOURCE_DIR}/test/tester/tests/import_class_extends_multilevel.ts" "${PROJECT_SOURCE_DIR}/test/tester/tests/export_class_extends_multilevel.ts")
921+ # add_test(NAME test-jit-shared-export-import-class-extends-implements-diamond COMMAND test-runner -jit -shared "${PROJECT_SOURCE_DIR}/test/tester/tests/import_class_extends_implements_diamond.ts" "${PROJECT_SOURCE_DIR}/test/tester/tests/export_class_extends_implements_diamond.ts")
891922add_test (NAME test -jit-shared-export-import-object-literal-with-interface COMMAND test -runner -jit -shared -gctors-as-method "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_with_interface.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_with_interface.ts" )
892923add_test (NAME test -jit-shared-export-import-object-literal-untyped COMMAND test -runner -jit -shared -gctors-as-method "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_untyped.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_untyped.ts" )
893924add_test (NAME test -jit-shared-export-import-object-literal-untyped-multi-method COMMAND test -runner -jit -shared -gctors-as-method "${PROJECT_SOURCE_DIR } /test/tester/tests/import_object_literal_untyped_multi_method.ts" "${PROJECT_SOURCE_DIR } /test/tester/tests/export_object_literal_untyped_multi_method.ts" )
0 commit comments