type go/types.Object
125 uses
go/types (current package)
api.go#L225: Defs map[*ast.Ident]Object
api.go#L232: Uses map[*ast.Ident]Object
api.go#L243: Implicits map[ast.Node]Object
api.go#L306: func (info *Info) ObjectOf(id *ast.Ident) Object {
call.go#L435: obj Object
call.go#L453: var exp Object
call.go#L534: check.cycleError([]Object{def.obj})
check.go#L51: func (env *environment) lookup(name string) Object {
check.go#L106: objMap map[Object]*declInfo // maps package-level objects and (non-interface) methods to declaration info
check.go#L135: objPath []Object // path of object dependencies during type inference (for cycle reporting)
check.go#L147: func (check *Checker) addDeclDep(to Object) {
check.go#L201: func (check *Checker) push(obj Object) int {
check.go#L207: func (check *Checker) pop() Object {
check.go#L250: objMap: make(map[Object]*declInfo),
check.go#L539: func (check *Checker) recordDef(id *ast.Ident, obj Object) {
check.go#L546: func (check *Checker) recordUse(id *ast.Ident, obj Object) {
check.go#L554: func (check *Checker) recordImplicit(node ast.Node, obj Object) {
check.go#L562: func (check *Checker) recordSelection(x *ast.SelectorExpr, kind SelectionKind, recv Type, obj Object, index []int, indirect bool) {
decl.go#L14: func (check *Checker) reportAltDecl(obj Object) {
decl.go#L23: func (check *Checker) declare(scope *Scope, id *ast.Ident, obj Object, pos token.Pos) {
decl.go#L42: func pathString(path []Object) string {
decl.go#L55: func (check *Checker) objDecl(obj Object, def *Named) {
decl.go#L208: func (check *Checker) validCycle(obj Object) (valid bool) {
decl.go#L304: func (check *Checker) cycleError(cycle []Object) {
decl.go#L333: func firstInSrc(path []Object) int {
errors.go#L98: case Object:
initorder.go#L73: cycle := findPath(check.objMap, n.obj, n.obj, make(map[Object]bool))
initorder.go#L134: func findPath(objMap map[Object]*declInfo, from, to Object, seen map[Object]bool) []Object {
initorder.go#L142: return []Object{d}
initorder.go#L153: func (check *Checker) reportCycle(cycle []Object) {
initorder.go#L173: Object
initorder.go#L206: func dependencyGraph(objMap map[Object]*declInfo) []*graphNode {
lookup.go#L44: func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) {
lookup.go#L89: func lookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string, foldCase bool) (obj Object, index []int, indirect bool) {
named.go#L280: var path []Object // objects encountered, for cycle reporting
object.go#L18: type Object interface {
object.go#L398: func writeObject(buf *bytes.Buffer, obj Object, qf Qualifier) {
object.go#L515: func ObjectString(obj Object, qf Qualifier) string {
objset.go#L15: type objset map[string]Object // initialized lazily
objset.go#L21: func (s *objset) insert(obj Object) Object {
objset.go#L27: *s = make(map[string]Object)
resolver.go#L30: deps map[Object]bool // lazily initialized
resolver.go#L40: func (d *declInfo) addDep(obj Object) {
resolver.go#L43: m = make(map[Object]bool)
resolver.go#L103: func (check *Checker) declarePkgObj(ident *ast.Ident, obj Object, d *declInfo) {
resolver.go#L617: objList := make([]Object, len(check.objMap))
resolver.go#L638: var othersList []Object // everything that's not a type
resolver.go#L668: type inSourceOrder []Object
scope.go#L27: elems map[string]Object // lazily allocated
scope.go#L71: func (s *Scope) Lookup(name string) Object {
scope.go#L85: func (s *Scope) LookupParent(name string, pos token.Pos) (*Scope, Object) {
scope.go#L99: func (s *Scope) Insert(obj Object) Object {
scope.go#L118: func (s *Scope) _InsertLazy(name string, resolve func() Object) bool {
scope.go#L126: func (s *Scope) insert(name string, obj Object) {
scope.go#L128: s.elems = make(map[string]Object)
scope.go#L139: func (s *Scope) squash(err func(obj, alt Object)) {
scope.go#L245: resolve func() Object
scope.go#L246: obj Object
scope.go#L252: func resolve(name string, obj Object) Object {
selection.go#L43: obj Object // object denoted by x.f
selection.go#L56: func (s *Selection) Obj() Object { return s.obj }
signature.go#L183: scope.squash(func(obj, alt Object) {
struct.go#L198: func (check *Checker) declareInSet(oset *objset, pos token.Pos, obj Object) bool {
universe.go#L24: universeIota Object
universe.go#L27: universeAny Object
universe.go#L29: universeComparable Object
universe.go#L250: func def(obj Object) {
validtype.go#L23: func (check *Checker) validType0(typ Type, env *tparamEnv, path []Object) typeInfo {
golang.org/x/exp/apidiff
apidiff.go#L60: func (d *differ) incompatible(obj types.Object, part, format string, args ...interface{}) {
apidiff.go#L64: func (d *differ) compatible(obj types.Object, part, format string, args ...interface{}) {
apidiff.go#L68: func addMessage(ms messageSet, obj types.Object, part, format string, args []interface{}) {
apidiff.go#L120: func (d *differ) checkObjects(old, new types.Object) {
apidiff.go#L172: func objectKindString(obj types.Object) string {
apidiff.go#L187: func (d *differ) checkCorrespondence(obj types.Object, part string, old, new types.Type) {
apidiff.go#L193: func (d *differ) typeChanged(obj types.Object, part string, old, new types.Type) {
compatibility.go#L153: func (d *differ) checkCompatibleStruct(obj types.Object, old, new *types.Struct) {
compatibility.go#L164: func exportedFields(s *types.Struct) map[string]types.Object {
compatibility.go#L165: m := map[string]types.Object{}
compatibility.go#L180: func exportedSelectableFields(s *types.Struct) map[string]types.Object {
compatibility.go#L182: m = map[string]types.Object{}
compatibility.go#L245: func (d *differ) checkCompatibleObjectSets(obj types.Object, old, new map[string]types.Object) {
compatibility.go#L334: func exportedMethods(t types.Type) map[string]types.Object {
compatibility.go#L335: m := map[string]types.Object{}
compatibility.go#L346: func receiverType(method types.Object) types.Type {
compatibility.go#L350: func receiverNamedType(method types.Object) *types.Named {
compatibility.go#L361: func hasPointerReceiver(method types.Object) bool {
messageset.go#L18: type messageSet map[types.Object]map[string]string
messageset.go#L23: func (m messageSet) add(obj types.Object, part, msg string) {
messageset.go#L57: func objectString(obj types.Object) string {
golang.org/x/tools/go/packages
packages.go#L997: Defs: make(map[*ast.Ident]types.Object),
packages.go#L998: Uses: make(map[*ast.Ident]types.Object),
packages.go#L999: Implicits: make(map[ast.Node]types.Object),
golang.org/x/tools/internal/gcimporter
bexport.go#L202: func (p *exporter) obj(obj types.Object) {
bexport.go#L240: func (p *exporter) pos(obj types.Object) {
bexport.go#L272: func (p *exporter) fileLine(obj types.Object) (file string, line int) {
bexport.go#L293: func (p *exporter) qualifiedName(obj types.Object) {
bimport.go#L226: func objTag(obj types.Object) int {
bimport.go#L242: func sameObj(a, b types.Object) bool {
bimport.go#L249: func (p *importer) declare(obj types.Object) {
iexport.go#L104: declIndex: map[types.Object]uint64{},
iexport.go#L105: tparamNames: map[types.Object]string{},
iexport.go#L251: func (w *exportWriter) writeIndex(index map[types.Object]uint64) {
iexport.go#L253: obj types.Object
iexport.go#L304: func (p *iexporter) exportName(obj types.Object) (res string) {
iexport.go#L336: declIndex map[types.Object]uint64
iexport.go#L337: tparamNames map[types.Object]string // typeparam->exported name
iexport.go#L391: func (p *iexporter) pushDecl(obj types.Object) {
iexport.go#L429: func (p *iexporter) doDecl(obj types.Object) {
iexport.go#L904: func (w *exportWriter) param(obj types.Object) {
iexport.go#L1097: func (w *exportWriter) localIdent(obj types.Object) {
iexport.go#L1140: ring []types.Object
iexport.go#L1150: func (q *objQueue) pushTail(obj types.Object) {
iexport.go#L1152: q.ring = make([]types.Object, 16)
iexport.go#L1155: nring := make([]types.Object, len(q.ring)*2)
iexport.go#L1173: func (q *objQueue) popHead() types.Object {
iimport.go#L583: func (r *importReader) declare(obj types.Object) {
ureader_yes.go#L481: func (r *reader) obj() (types.Object, []types.Type) {
ureader_yes.go#L528: declare := func(obj types.Object) {