Class CaptureConstructorEntry

java.lang.Object
org.ek9lang.compiler.phase5.CaptureConstructorEntry
All Implemented Interfaces:
Consumer<ISymbol>

final class CaptureConstructorEntry extends Object implements Consumer<ISymbol>
THE entry state of a dynamic class's capture constructor: its captures are stored before its first statement (before _i_init, and before a this(...) call), so each one is set from the start of its body.

Both walks of PRE_IR_CHECKS ask this as a constructor is entered - Walk 0 (ConstructorFieldInitialisationListener), so the capture constructor is credited with every capture, and Walk 1 (PreIRListener), so its body may read them. Any other constructor of a dynamic class starts with them unset, like a named class's property declared with no value (CapturedPropertiesRecorder). The this(...) twin is DelegatedConstructorInitialisation.

  • Constructor Details

    • CaptureConstructorEntry

      CaptureConstructorEntry(SymbolsAndScopes symbolsAndScopes)
  • Method Details

    • accept

      public void accept(ISymbol constructor)
      Called once the constructor's own scope has been entered.
      Specified by:
      accept in interface Consumer<ISymbol>