Class Scenario2AggregateWrapperGenerator

java.lang.Object
org.ek9lang.compiler.phase7.Scenario2AggregateWrapperGenerator

final class Scenario2AggregateWrapperGenerator extends Object
Generates IR for Scenario 2 aggregate wrapper constructors, delegation, and function-accepting methods.

Handles:

  • Constructor operations - create delegate instance and store in field
  • Wrapping constructor - accepts existing delegate for return-type wrapping
  • Standard delegation - load delegate, call method, handle return type wrapping/casting
  • Function-accepting methods - inline implementations for whenPresent/whenOk/whenError
  • Constructor Details

  • Method Details

    • hasFunctionWrapperParameter

      boolean hasFunctionWrapperParameter(MethodSymbol method)
      Check if a method has any parameter whose type is a function wrapper.
    • generateConstructorOperation

      void generateConstructorOperation(IRConstruct construct, MethodSymbol method, String baseTypeName)
      Generate constructor that creates the delegate instance.
    • generateWrappingConstructor

      void generateWrappingConstructor(IRConstruct construct, AggregateSymbol aggregateSymbol, String baseTypeName)
      Generate wrapping constructor that takes the base type as parameter.
    • generateDelegationOperation

      void generateDelegationOperation(IRConstruct construct, MethodSymbol method, String baseTypeName)
      Generate a delegation operation for a single method.
    • generateFunctionAcceptingMethod

      void generateFunctionAcceptingMethod(IRConstruct construct, MethodSymbol method, String baseTypeName)
      Generate inline implementation for methods that accept function wrapper types.