Source File
report.go
Belonging Package
github.com/google/go-cmp/cmp
// Copyright 2017, The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package cmp// defaultReporter implements the reporter interface.//// As Equal serially calls the PushStep, Report, and PopStep methods, the// defaultReporter constructs a tree-based representation of the compared value// and the result of each comparison (see valueNode).//// When the String method is called, the FormatDiff method transforms the// valueNode tree into a textNode tree, which is a tree-based representation// of the textual output (see textNode).//// Lastly, the textNode.String method produces the final report as a string.type defaultReporter struct {root *valueNodecurr *valueNode}func ( *defaultReporter) ( PathStep) {.curr = .curr.PushStep()if .root == nil {.root = .curr}}func ( *defaultReporter) ( Result) {.curr.Report()}func ( *defaultReporter) () {.curr = .curr.PopStep()}// String provides a full report of the differences detected as a structured// literal in pseudo-Go syntax. String may only be called after the entire tree// has been traversed.func ( *defaultReporter) () string {assert(.root != nil && .curr == nil)if .root.NumDiff == 0 {return ""}:= new(pointerReferences):= formatOptions{}.FormatDiff(.root, )resolveReferences()return .String()}func ( bool) {if ! {panic("assertion failure")}}
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)