iter 22b.1.1: ClassDef/InstanceDef AST + downstream match arms
Adds Def::Class(ClassDef) and Def::Instance(InstanceDef) variants per Decision 11 §"Form-A schema". All optional fields (superclass, doc, default body) carry skip_serializing_if so canonical-JSON bytes of pre-22b fixtures stay bit-identical. Downstream match-on-Def sites are extended with explicit Class/Instance arms. Behaviour for 22b.1 is placeholder (skip in typecheck/codegen, one-line summary in pretty/manifest, placeholder marker in prose/print) with TODO comments naming the deferred sub-iters (22b.2 typecheck, 22b.3 codegen, 22b.4 prose-projection arms).
This commit is contained in:
@@ -765,6 +765,13 @@ impl<'a> Emitter<'a> {
|
||||
// logical type. Heap boxes are allocated ad hoc via
|
||||
// GC_malloc (Boehm conservative collector, Iter 14f).
|
||||
}
|
||||
// Iter 22b.1: class/instance defs do not emit IR yet.
|
||||
// 22b.3 monomorphisation will rewrite class-method
|
||||
// calls into calls against synthesised monomorphic
|
||||
// FnDefs; once that pass runs, class/instance bodies
|
||||
// never reach the emit path on their own — they only
|
||||
// appear inlined into the synthesised fns.
|
||||
Def::Class(_) | Def::Instance(_) => {}
|
||||
}
|
||||
}
|
||||
// Drain the monomorphisation queue. Specialised fns may
|
||||
|
||||
Reference in New Issue
Block a user