DependencyCycle class abstract interface

Represents a detected circular dependency within a dependency graph.

A DependencyCycle describes a closed dependency path in which one or more components ultimately depend on themselves, directly or indirectly.

This interface is used purely for diagnostic and reporting purposes and does not participate in dependency resolution.

Concrete implementations define how the cycle is represented and may include additional diagnostic metadata such as ordering constraints, annotations, or resolution context.

Typical implementations may represent:

  • Type or class cycles (e.g. A → B → C → A)
  • Interceptor ordering cycles involving @RunBefore / @RunAfter
  • Module, plugin, or pod initialization loops

Implementations are encouraged to:

  • Preserve the order of dependencies forming the cycle
  • Provide meaningful toString() output for logging and diagnostics
  • Avoid holding strong references to instantiated objects when possible

See Also

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited