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 <dominik@honnef.co>
diff --git a/cmd/guru/what.go b/cmd/guru/what.go
index a970cf8..fabc3e8 100644
--- a/cmd/guru/what.go
+++ b/cmd/guru/what.go
@@ -74,7 +74,7 @@
}
}
- // 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 @@
*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.