Class CloseGenerator

java.lang.Object
org.ek9lang.compiler.phase7.synthesis.AbstractSyntheticGenerator
org.ek9lang.compiler.phase7.synthesis.CloseGenerator

final class CloseGenerator extends AbstractSyntheticGenerator
Generates synthetic IR for default operator close (_close): nothing but the generated close chain (CloseChain, deciding through CloseSteps).
Void _close():
  REFERENCE _first, org.ek9.lang::Exception
  owned region (shape B), empty body; finally, last acquired first:
    _f = LOAD_FIELD this.field / IS_NULL / skip / CALL _f._close()  (each in its own protected region)
    CALL (Super)super._close()                                      (when the super class has a close)
  rethrow _first when a close failed
  return

The same chain a hand-written close gets after its body (OperationDfnGenerator), so the two cannot close different fields or in a different order. A vacuous default (nothing to close and no parent close) never gets here: it is E81070.