EnablementResolver class

Pure helpers for plugin enablement decisions: default-enabled detection, base enablement from RuntimeSettings, dependency cascading, and cycle detection. Owned by PluginRuntime; cleanly isolated so each helper is callable without runtime mutable state.

Constructors

EnablementResolver()
Creates the resolver. No state to initialize; methods are pure functions over their inputs.

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

determineEnabledPluginIds(RuntimeSettings settings, {required List<Plugin> pluginSubset, Set<PluginId> additionalEnabledPluginIds = const {}}) Set<PluginId>
Determines the set of enabled plugin ids based on RuntimeSettings.
isEnabled(Plugin plugin, RuntimeSettings settings) bool
Whether plugin would be enabled under settings, ignoring dependency resolution.
logDependencyCycles(Set<PluginId> enabledPluginIds, List<Plugin> pluginSubset, {Set<PluginId> additionalEnabledPluginIds = const {}}) → void
Detects strongly connected components in the dependency subgraph restricted to enabledPluginIds (plus additionalEnabledPluginIds for cross-scope dep resolution) and emits one severe log per cycle naming the participants.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
validateDependencies(Set<PluginId> enabledPluginIds, List<Plugin> pluginSubset, {Set<PluginId> additionalEnabledPluginIds = const {}}) → void
Validates that all enabled plugins have their dependencies satisfied. Iterates until stable to handle transitive dependencies.

Operators

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

Static Methods

isEnabledByDefault(Plugin plugin) bool
Whether plugin is enabled by default in the absence of any RuntimeSettings override.