blaise/tools/bif-coverage
Graeme Geldenhuys 215082afc3 feat(codegen): implicit-virtual constructor dispatch via metaclass
Constructors are now auto-slotted into the vtable by the semantic pass.
When a constructor is called through a metaclass-typed variable
(C.Create(args)), the compiler emits _ClassCreate for allocation
followed by a vtable-indirect call to the most-derived constructor
body. Direct calls (TFoo.Create) remain fully static.

Both backends (QBE and native x86-64) emit correct dispatch for:
- MetaclassVar.Create(args) syntax
- ClassCreate(MetaclassVar, args) builtin
- Zero-arg and multi-arg constructor signatures

This is a layout-changing commit (adds constructor vtable slots).
Verified: FIXPOINT_OK, NATIVE_FIXPOINT_OK, NATIVE_INTERNAL_OK,
3370 tests pass.
2026-06-17 10:07:47 +01:00
..
src/main/pascal chore: adopt -SNAPSHOT version suffix, update README 2026-06-10 10:39:14 +01:00
bif-coverage.status feat(codegen): implicit-virtual constructor dispatch via metaclass 2026-06-17 10:07:47 +01:00
project.xml fix(bif): resolve bif-coverage gaps for current master 2026-06-08 00:34:12 +01:00