module Tdiff::Core
Overview
The core module is in charge of comparing already parsed Tdiff::Tree
objects
and returning an array of Tdiff::Core::Result
.
The way it works, in general, is the following:
A Tdiff::Core::Comparator
receives two trees. Navigates them recursively, and
whenever it encounters a scalar value on either side, it uses a Tdiff::Core::Comparison
,
and if there's a difference it is stored for later use.
Note that the reason of the determined difference is also stored on the Tdiff::Core::Result
object, by way of the enumeration Tdiff::Core::DifferenceReason
There's still no way to add custom or different algorithms for the tree comparison (which for example, could benefit of a non-recursive approach or even a parallel one for VERY large files).
Defined in:
core/comparator.crcore/comparison.cr
core/core.cr
core/difference.cr
core/difference_reason.cr
core/outcome.cr
core/result.cr