Class IsNonDispatchableLifecycleMethod
java.lang.Object
org.ek9lang.compiler.phase7.calls.IsNonDispatchableLifecycleMethod
THE test of the compiler-synthesised LIFECYCLE methods, which are never dynamically dispatched: the constructor
itself plus
_i_init (instance field initialisation) and _c_init (class/static initialisation).
Hold an instance.
Each <init> must run ITS OWN _i_init. Dispatching one dynamically would send a base
constructor's field-initialisation call to the DERIVED body, running it against a half-built object
whose own fields do not exist yet - and a base type must be as open to be extended at all,
so openness alone says "virtual" for exactly the hierarchies where this breaks.
These are NOT CompilerPlumbingCalls plumbing: they have
real symbols and measured complexity, so they DO carry a metadata clause. They are simply not
dispatchable. Keeping the two ideas apart is the point - a site that needs "no metadata" and a site
that needs "no dispatch" are different questions with different answers.
-
Constructor Details
-
IsNonDispatchableLifecycleMethod
public IsNonDispatchableLifecycleMethod()
-
-
Method Details
-
test
-