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
pluginwould be enabled undersettings, 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(plusadditionalEnabledPluginIdsfor cross-scope dep resolution) and emits oneseverelog 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
pluginis enabled by default in the absence of anyRuntimeSettingsoverride.