Class InheritedDispatcherGenerator

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

final class InheritedDispatcherGenerator extends AbstractSyntheticGenerator
The body of a synthesised inherited-dispatcher entry point (front-end rationalisation D2): call the entry point it overrides on the super, directly (a super call, never virtual), and return what that returns.

The dispatch table is NOT built here: DispatchTablePass prepends it, as for any dispatcher, over the handlers of the WHOLE chain (DispatcherHandlers.collectFor). So a call that a handler of this type or of a super matches goes straight to that handler, and anything else reaches this body - the super's own entry point, with its own table and, at the top, the fallback body the author wrote.

ReturnType render(shape):
  DISPATCH_TABLE ...                 // prepended by DispatchTablePass
  rtn = super.render(shape)          // CALL (DefiningSuper)super.render(shape), not virtual
  return rtn