Reset nil attributes to their default values to make the spec valid
Parses the most indented lines into blocks that are marked and added to the frontier
Creates and pushes the initial state for the resolution, based upon the {#requested} dependencies @return [void]
Unwinds the states stack because a conflict has been encountered @return [void]
Raises a VersionConflict
error, or any underlying error, if there is no current state @return [void]
@return [UnwindDetails] Details of the nearest index to which we could unwind
@param [Array<Object>] binding_requirements array of requirements that combine to create a conflict @return [Array<UnwindDetails>] array of UnwindDetails
that have a chance
of resolving the passed requirements
Filter’s a state’s possibilities to remove any that would not fix the conflict we’ve just rewound from @param [UnwindDetails] unwind_details details of the conflict just
unwound from
@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]
Filter’s a state’s possibilities to remove any that would (eventually) create a requirement in the conflict we’ve just rewound from @param [UnwindDetails] unwind_details details of the conflict just unwound from @return [void]