valueNode represents a single node within a report, which is a structured representation of the value tree, containing information regarding which nodes are equal or not.
| 10 | // structured representation of the value tree, containing information |
| 11 | // regarding which nodes are equal or not. |
| 12 | type valueNode struct { |
| 13 | parent *valueNode |
| 14 | |
| 15 | Type reflect.Type |
| 16 | ValueX reflect.Value |
| 17 | ValueY reflect.Value |
| 18 | |
| 19 | // NumSame is the number of leaf nodes that are equal. |
| 20 | // All descendants are equal only if NumDiff is 0. |
| 21 | NumSame int |
| 22 | // NumDiff is the number of leaf nodes that are not equal. |
| 23 | NumDiff int |
| 24 | // NumIgnored is the number of leaf nodes that are ignored. |
| 25 | NumIgnored int |
| 26 | // NumCompared is the number of leaf nodes that were compared |
| 27 | // using an Equal method or Comparer function. |
| 28 | NumCompared int |
| 29 | // NumTransformed is the number of non-leaf nodes that were transformed. |
| 30 | NumTransformed int |
| 31 | // NumChildren is the number of transitive descendants of this node. |
| 32 | // This counts from zero; thus, leaf nodes have no descendants. |
| 33 | NumChildren int |
| 34 | // MaxDepth is the maximum depth of the tree. This counts from zero; |
| 35 | // thus, leaf nodes have a depth of zero. |
| 36 | MaxDepth int |
| 37 | |
| 38 | // Records is a list of struct fields, slice elements, or map entries. |
| 39 | Records []reportRecord // If populated, implies Value is not populated |
| 40 | |
| 41 | // Value is the result of a transformation, pointer indirect, of |
| 42 | // type assertion. |
| 43 | Value *valueNode // If populated, implies Records is not populated |
| 44 | |
| 45 | // TransformerName is the name of the transformer. |
| 46 | TransformerName string // If non-empty, implies Value is populated |
| 47 | } |
| 48 | type reportRecord struct { |
| 49 | Key reflect.Value // Invalid for slice element |
| 50 | Value *valueNode |
nothing calls this directly
no outgoing calls
no test coverage detected