type go/types.Object
143 uses
go/types (current package)
api.go#L258: Defs map[*ast.Ident]Object
api.go#L265: Uses map[*ast.Ident]Object
api.go#L276: Implicits map[ast.Node]Object
api.go#L357: func (info *Info) ObjectOf(id *ast.Ident) Object {
api.go#L371: var obj Object
call.go#L677: obj Object
call.go#L695: var exp Object
call.go#L778: check.cycleError([]Object{def}, 0)
check.go#L96: func (env *environment) lookupScope(name string) (*Scope, Object) {
check.go#L106: func (env *environment) lookup(name string) Object {
check.go#L161: objMap map[Object]*declInfo // maps package-level objects and (non-interface) methods to declaration info
check.go#L193: objPath []Object // path of object dependencies during type inference (for cycle reporting)
check.go#L205: func (check *Checker) addDeclDep(to Object) {
check.go#L266: func (check *Checker) push(obj Object) int {
check.go#L272: func (check *Checker) pop() Object {
check.go#L318: objMap: make(map[Object]*declInfo),
decl.go#L17: func (check *Checker) declare(scope *Scope, id *ast.Ident, obj Object, pos token.Pos) {
decl.go#L38: func pathString(path []Object) string {
decl.go#L51: func (check *Checker) objDecl(obj Object, def *TypeName) {
decl.go#L202: func (check *Checker) validCycle(obj Object) (valid bool) {
decl.go#L301: func (check *Checker) cycleError(cycle []Object, start int) {
decl.go#L306: name := func(obj Object) string {
decl.go#L348: func firstInSrc(path []Object) int {
errors.go#L65: func (err *error_) addAltDecl(obj Object) {
errsupport.go#L15: func (check *Checker) lookupError(typ Type, sel string, obj Object, structLit bool) string {
format.go#L39: case Object:
initorder.go#L79: cycle := findPath(check.objMap, n.obj, n.obj, make(map[Object]bool))
initorder.go#L140: func findPath(objMap map[Object]*declInfo, from, to Object, seen map[Object]bool) []Object {
initorder.go#L147: var deps []Object
initorder.go#L157: return []Object{d}
initorder.go#L168: func (check *Checker) reportCycle(cycle []Object) {
initorder.go#L196: Object
initorder.go#L229: func dependencyGraph(objMap map[Object]*declInfo) []*graphNode {
literals.go#L184: var alt Object
lookup.go#L44: func LookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool) {
lookup.go#L53: func lookupFieldOrMethod(T Type, addressable bool, pkg *Package, name string, foldCase bool) (obj Object, index []int, indirect bool) {
lookup.go#L103: func lookupFieldOrMethodImpl(T Type, addressable bool, pkg *Package, name string, foldCase bool) (obj Object, index []int, indirect bool) {
named.go#L568: var path []Object // objects encountered, for cycle reporting
object.go#L29: type Object interface {
object.go#L508: func writeObject(buf *bytes.Buffer, obj Object, qf Qualifier) {
object.go#L629: func ObjectString(obj Object, qf Qualifier) string {
objset.go#L18: type objset map[string]Object // initialized lazily
objset.go#L24: func (s *objset) insert(obj Object) Object {
objset.go#L30: *s = make(map[string]Object)
recording.go#L141: func (check *Checker) recordDef(id *ast.Ident, obj Object) {
recording.go#L148: func (check *Checker) recordUse(id *ast.Ident, obj Object) {
recording.go#L156: func (check *Checker) recordImplicit(node ast.Node, obj Object) {
recording.go#L164: func (check *Checker) recordSelection(x *ast.SelectorExpr, kind SelectionKind, recv Type, obj Object, index []int, indirect bool) {
resolver.go#L32: deps map[Object]bool // lazily initialized
resolver.go#L42: func (d *declInfo) addDep(obj Object) {
resolver.go#L45: m = make(map[Object]bool)
resolver.go#L105: func (check *Checker) declarePkgObj(ident *ast.Ident, obj Object, d *declInfo) {
resolver.go#L627: objList := make([]Object, len(check.objMap))
resolver.go#L633: slices.SortFunc(objList, func(a, b Object) int {
resolver.go#L671: var othersList []Object // everything that's not a type
scope.go#L29: elems map[string]Object // lazily allocated
scope.go#L73: func (s *Scope) Lookup(name string) Object {
scope.go#L94: 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#L169: resolve func() Object
scope.go#L170: obj Object
scope.go#L176: func resolve(name string, obj Object) Object {
scope2.go#L24: func (s *Scope) LookupParent(name string, pos token.Pos) (*Scope, Object) {
selection.go#L78: obj Object // object denoted by x.f
selection.go#L91: func (s *Selection) Obj() Object { return s.obj }
struct.go#L200: func (check *Checker) declareInSet(oset *objset, pos token.Pos, obj Object) bool {
universe.go#L26: universeIota Object
universe.go#L33: universeComparable Object
universe.go#L292: func def(obj Object) {
validtype.go#L195: func makeObjList(tlist []*Named) []Object {
validtype.go#L196: olist := make([]Object, len(tlist))
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#L1188: Defs: make(map[*ast.Ident]types.Object),
packages.go#L1189: Uses: make(map[*ast.Ident]types.Object),
packages.go#L1190: Implicits: make(map[ast.Node]types.Object),
golang.org/x/tools/go/types/objectpath
objectpath.go#L121: func For(obj types.Object) (Path, error) {
objectpath.go#L128: scopeMemo map[*types.Scope][]types.Object // memoization of scopeObjects
objectpath.go#L174: func (enc *Encoder) For(obj types.Object) (Path, error) {
objectpath.go#L457: func find(obj types.Object, T types.Type, path []byte) []byte {
objectpath.go#L463: obj types.Object // the sought object
objectpath.go#L563: func findTypeParam(obj types.Object, list *types.TypeParamList, path []byte, op byte) []byte {
objectpath.go#L579: func Object(pkg *types.Package, p Path) (types.Object, error) {
objectpath.go#L801: func (enc *Encoder) scopeObjects(scope *types.Scope) []types.Object {
objectpath.go#L804: m = make(map[*types.Scope][]types.Object)
objectpath.go#L810: objs = make([]types.Object, len(names))
golang.org/x/tools/go/types/typeutil
callee.go#L20: func Callee(info *types.Info, call *ast.CallExpr) types.Object {
golang.org/x/tools/internal/gcimporter
iexport.go#L363: declIndex: map[types.Object]uint64{},
iexport.go#L364: tparamNames: map[types.Object]string{},
iexport.go#L510: func (w *exportWriter) writeIndex(index map[types.Object]uint64) {
iexport.go#L512: obj types.Object
iexport.go#L563: func (p *iexporter) exportName(obj types.Object) (res string) {
iexport.go#L596: declIndex map[types.Object]uint64
iexport.go#L597: tparamNames map[types.Object]string // typeparam->exported name
iexport.go#L662: func (p *iexporter) pushDecl(obj types.Object) {
iexport.go#L699: func (p *iexporter) doDecl(obj types.Object) {
iexport.go#L1181: func (w *exportWriter) objectPath(obj types.Object) {
iexport.go#L1283: func (w *exportWriter) param(obj types.Object) {
iexport.go#L1497: func (w *exportWriter) localIdent(obj types.Object) {
iexport.go#L1540: ring []types.Object
iexport.go#L1550: func (q *objQueue) pushTail(obj types.Object) {
iexport.go#L1552: q.ring = make([]types.Object, 16)
iexport.go#L1555: nring := make([]types.Object, len(q.ring)*2)
iexport.go#L1573: func (q *objQueue) popHead() types.Object {
iimport.go#L684: func (r *importReader) declare(obj types.Object) {
iimport.go#L1037: func (r *importReader) objectPathObject() types.Object {
ureader_yes.go#L478: func (r *reader) obj() (types.Object, []types.Type) {
ureader_yes.go#L527: declare := func(obj types.Object) {
golang.org/x/tools/internal/typesinternal
toonew.go#L19: func TooNewStdSymbols(pkg *types.Package, version string) map[types.Object]string {
toonew.go#L20: disallowed := make(map[types.Object]string)
toonew.go#L69: var obj types.Object
types.go#L139: func IsPackageLevel(obj types.Object) bool {
types.go#L148: Defs: map[*ast.Ident]types.Object{},
types.go#L149: Uses: map[*ast.Ident]types.Object{},
types.go#L150: Implicits: map[ast.Node]types.Object{},