when we trickle down the object properties, we want to drill down so we want to choose the property to drill down (by its type) since sometimes we don't need to compute the actual hash code for the property (for example: a class, or an enumeration) while computing the hash, just their path.
This method can be used to debug hashing.
We have tried to come up with a more robust way to debug hash, such as to construct the hash tree, but that's not quite feasible for the following reasons:
get hashCode
and expand the property if it hashashCode
then we might risk getting into an infinite loopget hashCode
is in order to reconcile the differences between metamodels and protocol models. If we only compare metamodels to protocol models for example, the problem might be less complicated, but we're dealing with 2 hash systems (in a way)Mapping
and then choose which part of the hash we would like toexplore