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.
Parses the most indented lines into blocks that are marked and added to the frontier
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
)
@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)