Resolves #30 - Add detection of circular referencing
This is achieved by first adding the concept of an element filter, which works in the same way as the existing field filter, and then introducing an InstanceTracker type which, when the same tracker instance is installed as both an element and field filter, will track field values and elements as they are visited, and filter them out should the same entity be encountered again.
Coverage decreased (-0.26%) to 98.32% when pulling cdc8b2b91d7ec103efa78b18f7a4e6dd93551826 on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling 5ad4967c655960ecf89296a2bd5c3588e12b9f4e on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling 5ad4967c655960ecf89296a2bd5c3588e12b9f4e on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling cd23a4e2192cef8ee6156a8fc5355f44ce5127c4 on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling cd23a4e2192cef8ee6156a8fc5355f44ce5127c4 on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling 9ecb18815035d7e16b2ae3ae930b7bc487435c0f on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling dccb01a9c3c9794a332d8564b76607e2ec802e97 on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Coverage decreased (-0.26%) to 98.32% when pulling 5a2ec37bb541da400e8de0915da89e11371f11b6 on feature/Pop-30-dont-visit-objects-twice into 04af209863bc9bf1c3f44de37e46b6bdb96436b4 on master.
Resolves #30 - Add detection of circular referencing
This is achieved by first adding the concept of an element filter, which works in the same way as the existing field filter, and then introducing an
InstanceTracker
type which, when the same tracker instance is installed as both an element and field filter, will track field values and elements as they are visited, and filter them out should the same entity be encountered again.