Class IsCaptureConstructor
TakesExactlyTheTypesOf) - the one the definition site builds the object through, and the
only one the captured values are stored by (Steve, 2026-10-28: "we need an exact match"). The developer may write
it - the tuple's 'interface', parameters named as they wish - or phase 3 adds it; never chosen by the number of
parameters, and never a cost-based best match (an Any or promotable parameter is not the capture type).
Decided ONCE, in phase 3 (AggregateManipulator.addCaptureConstructorIfRequired), and recorded on the
constructor (CaptureConstructorMarker); every later phase asks THIS and never re-derives it: phase 5
credits it with every capture (phase5/CaptureConstructorEntry,
ConstructorFieldInitialisationListener),
phase 7 stores the captured values in it (DynamicClassDfnGenerator). Any other constructor of a dynamic
class is an ordinary constructor: it sets every property itself, captures included
(CapturedPropertiesRecorder), and gets no capture stores. A clone made for a parameterisation carries the
record with it.
The reader half of what was CaptureConstructor (no-statics lane S3, 2026-10-29); the writer is
CaptureConstructorMarker, the list of what a constructor must set ConstructorProperties.
-
Constructor Details
-
IsCaptureConstructor
public IsCaptureConstructor()
-
-
Method Details
-
test
-