Class UnsatisfiedInjectionReporter

java.lang.Object
org.ek9lang.compiler.phase5.UnsatisfiedInjectionReporter

final class UnsatisfiedInjectionReporter extends Object
Reports dependency-injection fields that cannot be satisfied at a given point, walking an aggregate's own injection fields plus those of any aggregate types reachable through its property field types and supers. Shared by the direct and transitive injection-ordering checks so the recursion, the never-registered/out-of-order classification, and every diagnostic message are maintained in one place.
  • Constructor Details

    • UnsatisfiedInjectionReporter

      UnsatisfiedInjectionReporter()
  • Method Details

    • checkAggregateAndFieldTypes

      void checkAggregateAndFieldTypes(AggregateSymbol aggregate, Set<String> availableTypes, Set<String> allRegisteredTypes, IToken triggerToken, ErrorListener errorListener, Set<String> visited)
      Check an aggregate's own injection fields and also the injection fields of any aggregate types referenced by its properties (field types) and supers. The visited set guards against cycles. Diagnostics are emitted via the supplied ErrorListener.