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. |
||
|---|---|---|
| .. | ||
| bif-coverage | ||
| kanban | ||
| migration-analyser | ||
| .gitkeep | ||