type objectReference … // String is used when logging an objectReference in text format. func (s objectReference) String() string { … } // MarshalLog is used when logging an objectReference in JSON format. func (s objectReference) MarshalLog() interface{ … } var _ … var _ … type node … // clone() must only be called from the single-threaded GraphBuilder.processGraphChanges() func (n *node) clone() *node { … } // An object is on a one way trip to its final deletion if it starts being // deleted, so we only provide a function to set beingDeleted to true. func (n *node) markBeingDeleted() { … } func (n *node) isBeingDeleted() bool { … } func (n *node) markObserved() { … } func (n *node) isObserved() bool { … } func (n *node) markDeletingDependents() { … } func (n *node) isDeletingDependents() bool { … } func (n *node) addDependent(dependent *node) { … } func (n *node) deleteDependent(dependent *node) { … } func (n *node) dependentsLength() int { … } // Note that this function does not provide any synchronization guarantees; // items could be added to or removed from ownerNode.dependents the moment this // function returns. func (n *node) getDependents() []*node { … } // blockingDependents returns the dependents that are blocking the deletion of // n, i.e., the dependent that has an ownerReference pointing to n, and // the BlockOwnerDeletion field of that ownerReference is true. // Note that this function does not provide any synchronization guarantees; // items could be added to or removed from ownerNode.dependents the moment this // function returns. func (n *node) blockingDependents() []*node { … } // ownerReferenceCoordinates returns an owner reference containing only the coordinate fields // from the input reference (uid, name, kind, apiVersion) func ownerReferenceCoordinates(ref metav1.OwnerReference) metav1.OwnerReference { … } // ownerReferenceMatchesCoordinates returns true if all of the coordinate fields match // between the two references (uid, name, kind, apiVersion) func ownerReferenceMatchesCoordinates(a, b metav1.OwnerReference) bool { … } // String renders node as a string using fmt. Acquires a read lock to ensure the // reflective dump of dependents doesn't race with any concurrent writes. func (n *node) String() string { … } type concurrentUIDToNode … func (m *concurrentUIDToNode) Write(node *node) { … } func (m *concurrentUIDToNode) Read(uid types.UID) (*node, bool) { … } func (m *concurrentUIDToNode) Delete(uid types.UID) { … }