From d7cabd40dd92e5364969273229373d515bee14e8 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Tue, 17 Jan 2017 11:40:04 -0800 Subject: [PATCH] [dev.typealias] go/types: clarified doc string Also: removed internal TODO and added better comment Fixes #18644. Change-Id: I3e3763d3afdad6937173cdd32fc661618fb60820 Reviewed-on: https://go-review.googlesource.com/35245 Run-TryBot: Robert Griesemer TryBot-Result: Gobot Gobot Reviewed-by: Josh Bleecher Snyder --- src/go/types/object.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/go/types/object.go b/src/go/types/object.go index 1668ba396be..3c443486966 100644 --- a/src/go/types/object.go +++ b/src/go/types/object.go @@ -25,7 +25,7 @@ type Object interface { Name() string // package local object name Type() Type // object type Exported() bool // reports whether the name starts with a capital letter - Id() string // object id (see Id below) + Id() string // object name if exported, qualified name if not exported (see func Id) // String returns a human-readable string of the object. String() string @@ -64,15 +64,10 @@ func Id(pkg *Package, name string) string { // inside a package and outside a package - which breaks some // tests) path := "_" - // TODO(gri): shouldn't !ast.IsExported(name) => pkg != nil be an precondition? - // if pkg == nil { - // panic("nil package in lookup of unexported name") - // } - if pkg != nil { + // pkg is nil for objects in Universe scope and possibly types + // introduced via Eval (see also comment in object.sameId) + if pkg != nil && pkg.path != "" { path = pkg.path - if path == "" { - path = "_" - } } return path + "." + name }