/// True if the argument changed vs the "diff against" graph.
///
/// If there is no graph to diff against, return true, as everything
/// is considered to have changed.
True if the argument changed vs the "diff against" graph.
If there is no graph to diff against, return true, as everything
is considered to have changed.
True if the argument changed vs the " diff against " graph . If there is no graph to diff against return true as everything is considered to have changed .
fn value_edge_target_did_change(
        &self,
        w: &mut GraphvizWriter<'_>,
        edge: ValueEdgeTarget,
    ) -> bool {
        let Some(diff_against) = w.diff_against else {
            return true;
        };
        let machine_object = match edge {
            ValueEdgeTarget::Class(_) | ValueEdgeTarget::Function(_) => None,
            ValueEdgeTarget::Data(data_node) => Some(data_node.data(&self.tables).object),
            ValueEdgeTarget::Expired => {
                // If we reach this point, then either the *permision* changed or
                // there was no visible change.
                return false;
            }
            ValueEdgeTarget::Object(object_node) => Some(object_node.data(&self.tables).object),
        };
        match machine_object {
            None => false,
            Some(machine_object) => {
                Some(&self.machine[machine_object])
                    != diff_against.machine.heap.object_data(machine_object)
            }
        }
    }
fn value_edge_target_did_change ( & self , w : & mut GraphvizWriter < ' _ > , edge : ValueEdgeTarget , ) -> bool { let Some ( diff_against ) = w . diff_against else { return true ; } ; let machine_object = match edge { ValueEdgeTarget :: Class ( _ ) | ValueEdgeTarget :: Function ( _ ) => None , ValueEdgeTarget :: Data ( data_node ) => Some ( data_node . data ( & self . tables ) . object ) , ValueEdgeTarget :: Expired => { // If we reach this point, then either the *permision* changed or // there was no visible change. return false ; } ValueEdgeTarget :: Object ( object_node ) => Some ( object_node . data ( & self . tables ) . object ) , } ; match machine_object { None => false , Some ( machine_object ) => { Some ( & self . machine [ machine_object ] ) != diff_against . machine . heap . object_data ( machine_object ) } } }
True if the argument changed vs the "diff against" graph.
True if the argument changed vs the " diff against " graph .
&self
w
&mut GraphvizWriter<'_>
edge
ValueEdgeTarget