aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-toolsmith/astequal/diff.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-toolsmith/astequal/diff.go')
-rw-r--r--vendor/github.com/go-toolsmith/astequal/diff.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/go-toolsmith/astequal/diff.go b/vendor/github.com/go-toolsmith/astequal/diff.go
new file mode 100644
index 000000000..cd69b4525
--- /dev/null
+++ b/vendor/github.com/go-toolsmith/astequal/diff.go
@@ -0,0 +1,23 @@
+package astequal
+
+import (
+ "bytes"
+ "go/ast"
+ "go/format"
+ "go/token"
+
+ "github.com/google/go-cmp/cmp"
+)
+
+func Diff(x, y ast.Node) string {
+ var buf bytes.Buffer
+ format.Node(&buf, token.NewFileSet(), x)
+ s1 := buf.String()
+
+ buf.Reset()
+ format.Node(&buf, token.NewFileSet(), y)
+ s2 := buf.String()
+
+ // TODO(cristaloleg): replace with a more lightweight diff impl.
+ return cmp.Diff(s1, s2)
+}