godoc: use "IsPredeclared" of go/doc
In the go/doc, the same map as "predeclared" is defined.
Instead of the "predeclared" map use the "IsPredeclared" function
which is an accessor for the go/doc map.
Deleted unnecessary "predeclared".
Fixes golang/go#20357
Change-Id: I7fdf42cfeb4440fb490be9380f39035be88f9a5a
Reviewed-on: https://go-review.googlesource.com/43473
Reviewed-by: Kevin Burke <kev@inburke.com>
diff --git a/godoc/linkify.go b/godoc/linkify.go
index dbe0e41..e4add22 100644
--- a/godoc/linkify.go
+++ b/godoc/linkify.go
@@ -13,6 +13,7 @@
import (
"fmt"
"go/ast"
+ "go/doc"
"go/token"
"io"
"strconv"
@@ -182,7 +183,7 @@
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 @@
})
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,
-}