Reset nil attributes to their default values to make the spec valid
Processes the topmost available {RequirementState} on the stack @return [void]
Adds a new {Edge} to the dependency graph without checking for circularity. @param (see add_edge
) @return (see add_edge
)
Creates and pushes the initial state for the resolution, based upon the {#requested} dependencies @return [void]
@param [Object] possibility a single possibility @param [Array] requirements an array of requirements @return [Boolean] whether the possibility satisfies all of the
given requirements
Checks a proposed requirement with any existing locked requirement before generating an array of possibilities for it. @param [Object] requirement the proposed requirement @param [Object] activated @return [Array] possibilities
Ruby expects the dylib to follow a file name convention for loading
@return [UnwindDetails] Details of the nearest index to which we could unwind
@param [String] name @return [Object] the requirement that led to a version of a possibility
with the given name being activated.
Requires the dependencies that the recently activated spec has @param [Object] possibility_set the PossibilitySet
that has just been
activated
@return [void]
@return [String] the name of the source of explicit dependencies, i.e.
those passed to {Resolver#resolve} directly.
@return [String] the name of the source of ‘locked’ dependencies, i.e.
those passed to {Resolver#resolve} directly as the `base`
@return [Boolean] where the requirement of the state we’re unwinding
to directly caused the conflict. Note: in this case, it is impossible for the state we're unwinding to to be a parent of any of the other conflicting requirements (or we would have circularity)
@return [Array] array of sub-dependencies to avoid when choosing a
new possibility for the state we've unwound to. Only relevant for non-primary unwinds
Attempts to update the existing vertex’s ‘PossibilitySet` with a filtered version @return [void]