Class IsSynthesisedMember
_i_init, _c_init, _fieldSetStatus,
_copyAccepts, _base (Steve, F3a 2026-10-08: one predicate, widened from the lifecycle pair) - hold
one and ask it, never a second list.
NOT plumbing (CompilerPlumbingCalls): each has a real body in the IR of the same construct (the field
initialisers the user wrote, the generated field-status bitmap, the generated copy check), so an IR reader resolves
the call to that body. They are listed here because, like plumbing, they have no symbol and phase 5 never measures
them, so their CALL carries no metadata clause - and is CallDetails.Kind.SYNTHESISED_MEMBER, never
UNRESOLVED.
Matching by name is sound because a user cannot declare a method of any of these names: a leading
_ cannot start an EK9 identifier, and none of them is ever defined into a symbol table (no symbol is the
definition - that is what puts them here). (_i_init/_c_init were i_init/c_init
until 2026-09-25, which a user COULD write - see docs/implementation/EK9_LIFECYCLE_METHOD_RENAME_PLAN.md.)
A new compiler-synthesised member with no symbol joins this set, never a second list.
-
Constructor Details
-
IsSynthesisedMember
public IsSynthesisedMember()
-
-
Method Details
-
test
-