MCPcopy
hub / github.com/google/gvisor / GetRecordDiff

Function GetRecordDiff

tools/nvidia_driver_differ/parser/json_definitions.go:93–116  ·  view source on GitHub ↗

GetRecordDiff prints a diff between two records.

(name string, a, b RecordDef)

Source from the content-addressed store, hash-verified

91
92// GetRecordDiff prints a diff between two records.
93func GetRecordDiff(name string, a, b RecordDef) string {
94 var sb strings.Builder
95 fmt.Fprintf(&sb, "--- A: %s\n", a.Source)
96 fmt.Fprintf(&sb, "+++ B: %s\n", b.Source)
97
98 switch {
99 case a.IsUnion && !b.IsUnion:
100 fmt.Fprintf(&sb, "- union %s\n", name)
101 fmt.Fprintf(&sb, "+ struct %s\n", name)
102 case !a.IsUnion && b.IsUnion:
103 fmt.Fprintf(&sb, "- struct %s\n", name)
104 fmt.Fprintf(&sb, "+ union %s\n", name)
105 case a.IsUnion && b.IsUnion:
106 fmt.Fprintf(&sb, "union %s\n", name)
107 case !a.IsUnion && !b.IsUnion:
108 fmt.Fprintf(&sb, "struct %s\n", name)
109 }
110 if a.Size != b.Size {
111 fmt.Fprintf(&sb, " size: %d -> %d (bytes)\n", a.Size, b.Size)
112 }
113 fmt.Fprint(&sb, cmp.Diff(a.Fields, b.Fields))
114
115 return sb.String()
116}

Callers 1

MainFunction · 0.92

Calls 1

StringMethod · 0.95

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…