diff --git a/godoc/linkify.go b/godoc/linkify.go index dbe0e4190..e4add22a1 100644 --- a/godoc/linkify.go +++ b/godoc/linkify.go @@ -13,6 +13,7 @@ package godoc import ( "fmt" "go/ast" + "go/doc" "go/token" "io" "strconv" @@ -182,7 +183,7 @@ func linksFor(node ast.Node) (links []link) { links = append(links, l) } else { l := link{name: n.Name} - if n.Obj == nil && predeclared[n.Name] { + if n.Obj == nil && doc.IsPredeclared(n.Name) { l.path = builtinPkgPath } links = append(links, l) @@ -192,49 +193,3 @@ func linksFor(node ast.Node) (links []link) { }) return } - -// The predeclared map represents the set of all predeclared identifiers. -// TODO(gri) This information is also encoded in similar maps in go/doc, -// but not exported. Consider exporting an accessor and using -// it instead. -var predeclared = map[string]bool{ - "bool": true, - "byte": true, - "complex64": true, - "complex128": true, - "error": true, - "float32": true, - "float64": true, - "int": true, - "int8": true, - "int16": true, - "int32": true, - "int64": true, - "rune": true, - "string": true, - "uint": true, - "uint8": true, - "uint16": true, - "uint32": true, - "uint64": true, - "uintptr": true, - "true": true, - "false": true, - "iota": true, - "nil": true, - "append": true, - "cap": true, - "close": true, - "complex": true, - "copy": true, - "delete": true, - "imag": true, - "len": true, - "make": true, - "new": true, - "panic": true, - "print": true, - "println": true, - "real": true, - "recover": true, -}