@macro action
Sets up the resolution process @return [void]
@param [Object] requirement @return [Object] the requirement that led to ‘requirement` being added
to the list of requirements.
Returns the node id for the given backtrace location.
begin raise rescue => e loc = e.backtrace_locations.first RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location(loc) end # => 0
Adds a new {Edge} to the dependency graph without checking for circularity. @param (see add_edge
) @return (see add_edge
)
Requires the dependencies that the recently activated spec has @param [Object] possibility_set the PossibilitySet
that has just been
activated
@return [void]
@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)
Filter’s a state’s possibilities to remove any that would not satisfy the requirements in the conflict we’ve just rewound from @param [UnwindDetails] unwind_details details of the conflict just unwound from @return [void]