From 3537037b0ba3c86130e74019e3880dc7e4c83cef Mon Sep 17 00:00:00 2001 From: Alan Donovan Date: Fri, 24 Feb 2017 16:57:05 -0500 Subject: [PATCH] cmd/guru: report 'whicherrs' in modes of 'what' query A 'what' query reports which other query modes are applicable to the selected syntax. A 'whicherrs' query is similar to a 'pointsto' query, so we enable it using the same criteria. Fixes issue golang/go#18938 Change-Id: Iae062e0c933c7764bc335488adabf816d63ac837 Reviewed-on: https://go-review.googlesource.com/37349 Reviewed-by: Dominik Honnef --- cmd/guru/what.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cmd/guru/what.go b/cmd/guru/what.go index a970cf85..fabc3e80 100644 --- a/cmd/guru/what.go +++ b/cmd/guru/what.go @@ -74,7 +74,7 @@ func what(q *Query) error { } } - // For pointsto, we approximate findInterestingNode. + // For pointsto and whicherrs, we approximate findInterestingNode. if _, ok := enable["pointsto"]; !ok { switch n.(type) { case ast.Stmt, @@ -84,10 +84,14 @@ func what(q *Query) error { *ast.InterfaceType, *ast.MapType, *ast.ChanType: - enable["pointsto"] = false // not an expr + // not an expression + enable["pointsto"] = false + enable["whicherrs"] = false case ast.Expr, ast.Decl, *ast.ValueSpec: - enable["pointsto"] = true // an expr, maybe + // an expression, maybe + enable["pointsto"] = true + enable["whicherrs"] = true default: // Comment, Field, KeyValueExpr, etc: ascend.