type go/ast.Ident
162 uses
go/ast (current package)
ast.go#L199: Names []*Ident // field/method/(type) parameter names; or nil
ast.go#L287: Ident struct {
ast.go#L345: Sel *Ident // field selector
ast.go#L493: func (x *Ident) Pos() token.Pos { return x.NamePos }
ast.go#L527: func (x *Ident) End() token.Pos { return token.Pos(int(x.NamePos) + len(x.Name)) }
ast.go#L563: func (*Ident) exprNode() {}
ast.go#L592: func NewIdent(name string) *Ident { return &Ident{token.NoPos, name, nil} }
ast.go#L598: func (id *Ident) IsExported() bool { return token.IsExported(id.Name) }
ast.go#L600: func (id *Ident) String() string {
ast.go#L637: Label *Ident
ast.go#L697: Label *Ident // label name; or nil
ast.go#L900: Name *Ident // local package name (including "."); or nil
ast.go#L911: Names []*Ident // value names (len(Names) > 0)
ast.go#L920: Name *Ident // type name
ast.go#L997: Name *Ident // function/method name
ast.go#L1056: Name *Ident // package name
ast.go#L1062: Unresolved []*Ident // unresolved identifiers in this file. Deprecated: see Object
commentmap.go#L318: if ident, ok := node.(*Ident); ok {
filter.go#L46: func filterIdentList(list []*Ident, f Filter) []*Ident {
filter.go#L60: func fieldName(x Expr) *Ident {
filter.go#L62: case *Ident:
filter.go#L65: if _, ok := t.X.(*Ident); ok {
filter.go#L124: if x, ok := x.Key.(*Ident); ok && !filter(x.Name) {
filter.go#L152: case *Ident:
filter.go#L321: if p, _ := t.(*Ident); p != nil {
resolve.go#L44: func resolve(scope *Scope, ident *Ident) bool {
scope.go#L137: if ident, isIdent := x.(*Ident); isIdent && ident.Name == name {
walk.go#L68: case *BadExpr, *Ident, *BasicLit:
go/doc
example.go#L349: case *ast.Ident:
example.go#L498: if id, ok := n.(*ast.Ident); ok && id.Name == "iota" && id.Obj == nil {
exports.go#L16: func filterIdentList(list []*ast.Ident) []*ast.Ident {
exports.go#L44: if x, ok := x.Key.(*ast.Ident); ok && !filter(x.Name) {
exports.go#L59: func updateIdentList(list []*ast.Ident) (hasExported bool) {
exports.go#L71: func hasExportedName(list []*ast.Ident) bool {
exports.go#L172: case *ast.Ident:
exports.go#L255: case *ast.Ident:
exports.go#L256: return &ast.Ident{Name: typ.Name, NamePos: pos}
exports.go#L258: if id, ok := typ.X.(*ast.Ident); ok {
exports.go#L262: X: &ast.Ident{Name: id.Name, NamePos: pos},
reader.go#L34: case *ast.Ident:
reader.go#L60: if id, ok := p.(*ast.Ident); ok {
reader.go#L127: case *ast.Ident:
reader.go#L134: if _, ok := t.X.(*ast.Ident); ok {
reader.go#L475: func lookupTypeParam(name string, tparams *ast.FieldList) *ast.Ident {
reader.go#L706: newIdent := &ast.Ident{NamePos: origPos, Name: recvTypeName}
go/parser
interface.go#L115: Name: new(ast.Ident),
parser.go#L466: func (p *parser) parseIdent() *ast.Ident {
parser.go#L475: return &ast.Ident{NamePos: pos, Name: name}
parser.go#L478: func (p *parser) parseIdentList() (list []*ast.Ident) {
parser.go#L538: func (p *parser) parseQualifiedIdent(ident *ast.Ident) ast.Expr {
parser.go#L552: func (p *parser) parseTypeName(ident *ast.Ident) ast.Expr {
parser.go#L601: func (p *parser) parseArrayFieldOrTypeInstance(x *ast.Ident) (*ast.Ident, ast.Expr) {
parser.go#L655: var names []*ast.Ident
parser.go#L668: names = []*ast.Ident{name}
parser.go#L788: name *ast.Ident
parser.go#L792: func (p *parser) parseParamDecl(name *ast.Ident, typeSetsOK bool) (f field) {
parser.go#L875: func (p *parser) parseParameterList(name0 *ast.Ident, typ0 ast.Expr, closing token.Token) (params []*ast.Field) {
parser.go#L1022: var names []*ast.Ident
parser.go#L1118: var idents []*ast.Ident
parser.go#L1121: if ident, _ := x.(*ast.Ident); ident != nil {
parser.go#L1130: if name0, _ := x.(*ast.Ident); name0 != nil && p.tok != token.COMMA && p.tok != token.RBRACK {
parser.go#L1142: idents = []*ast.Ident{ident}
parser.go#L1172: idents = []*ast.Ident{ident}
parser.go#L1486: _, isIdent := typ.(*ast.Ident)
parser.go#L1733: sel := &ast.Ident{NamePos: pos, Name: "_"}
parser.go#L1746: case *ast.BadExpr, *ast.Ident, *ast.SelectorExpr:
parser.go#L1950: if label, isIdent := x[0].(*ast.Ident); mode == labelOk && isIdent {
parser.go#L2052: var label *ast.Ident
parser.go#L2494: var ident *ast.Ident
parser.go#L2499: ident = &ast.Ident{NamePos: p.pos, Name: "."}
parser.go#L2570: func (p *parser) parseGenericType(spec *ast.TypeSpec, openPos token.Pos, name0 *ast.Ident, typ0 ast.Expr) {
parser.go#L2681: func extractName(x ast.Expr, force bool) (*ast.Ident, ast.Expr) {
parser.go#L2683: case *ast.Ident:
parser.go#L2688: if name, _ := x.X.(*ast.Ident); name != nil && (force || isTypeElem(x.Y)) {
parser.go#L2701: if name, _ := x.Fun.(*ast.Ident); name != nil {
resolver.go#L66: unresolved []*ast.Ident // unresolved identifiers
resolver.go#L72: targetStack [][]*ast.Ident // stack of unresolved labels
resolver.go#L128: func (r *resolver) declare(decl, data any, scope *ast.Scope, kind ast.ObjKind, idents ...*ast.Ident) {
resolver.go#L140: if _, ok := decl.(*ast.Ident); !ok {
resolver.go#L164: if ident, isIdent := x.(*ast.Ident); isIdent {
resolver.go#L196: func (r *resolver) resolve(ident *ast.Ident, collectUnresolved bool) {
resolver.go#L213: if _, ok := obj.Decl.(*ast.Ident); !ok {
resolver.go#L238: if _, ok := expr.(*ast.Ident); !ok && expr != nil {
resolver.go#L258: case *ast.Ident:
resolver.go#L291: if ident, _ := kv.Key.(*ast.Ident); ident != nil {
resolver.go#L568: if id, _ := expr.(*ast.Ident); id != nil {
go/printer
nodes.go#L103: func (p *printer) identList(list []*ast.Ident, indent bool) {
nodes.go#L458: func identListSize(list []*ast.Ident, maxSize int) (size int) {
nodes.go#L603: var prev *ast.Ident // previous "type" identifier
nodes.go#L605: var name *ast.Ident // first name, or nil
nodes.go#L820: case *ast.Ident:
nodes.go#L1238: case *ast.Ident:
printer.go#L952: case *ast.Ident:
go/types
api.go#L247: Instances map[*ast.Ident]Instance
api.go#L258: Defs map[*ast.Ident]Object
api.go#L265: Uses map[*ast.Ident]Object
api.go#L342: if id, _ := e.(*ast.Ident); id != nil {
api.go#L357: func (info *Info) ObjectOf(id *ast.Ident) Object {
assignments.go#L190: ident, _ := ast.Unparen(lhs).(*ast.Ident)
assignments.go#L536: ident, _ := lhs.(*ast.Ident)
call.go#L687: if ident, ok := e.X.(*ast.Ident); ok {
call.go#L1006: case *ast.Ident:
check.go#L584: func instantiatedIdent(expr ast.Expr) *ast.Ident {
check.go#L591: case *ast.SelectorExpr, *ast.Ident:
check.go#L595: case *ast.Ident:
decl.go#L17: func (check *Checker) declare(scope *Scope, id *ast.Ident, obj Object, pos token.Pos) {
decl.go#L734: func (check *Checker) declareTypeParam(name *ast.Ident, scopePos token.Pos) *TypeParam {
expr.go#L266: case *ast.Ident, *ast.BasicLit, *ast.SelectorExpr:
expr.go#L1005: case *ast.Ident:
exprstring.go#L37: case *ast.Ident:
exprstring.go#L221: func writeIdentList(buf *bytes.Buffer, list []*ast.Ident) {
literals.go#L174: key, _ := kv.Key.(*ast.Ident)
recording.go#L85: case *ast.Ident, *ast.SelectorExpr:
recording.go#L141: func (check *Checker) recordDef(id *ast.Ident, obj Object) {
recording.go#L148: func (check *Checker) recordUse(id *ast.Ident, obj Object) {
resolver.go#L105: func (check *Checker) declarePkgObj(ident *ast.Ident, obj Object, d *declInfo) {
resolver.go#L233: recv *ast.Ident // receiver type name
resolver.go#L448: if recv, _ := base.(*ast.Ident); recv != nil && name != "_" {
resolver.go#L513: func (check *Checker) unpackRecv(rtyp ast.Expr, unpackParams bool) (ptr bool, base ast.Expr, tparams []*ast.Ident) {
resolver.go#L528: var par *ast.Ident
resolver.go#L530: case *ast.Ident:
resolver.go#L540: par = &ast.Ident{NamePos: arg.Pos(), Name: "_"}
resolver.go#L555: func (check *Checker) resolveBaseTypeName(ptr bool, name *ast.Ident) (ptr_ bool, base *TypeName) {
resolver.go#L614: name, _ = typ.(*ast.Ident)
signature.go#L278: var rname *ast.Ident
signature.go#L354: func (check *Checker) collectParams(list *ast.FieldList, variadicOk bool) (names []*ast.Ident, params []*Var, variadic bool) {
signature.go#L415: func (check *Checker) declareParams(names []*ast.Ident, params []*Var, scopePos token.Pos) {
stmt.go#L277: if name, _ := ast.Unparen(e).(*ast.Ident); name != nil {
stmt.go#L659: x.expr = &ast.Ident{NamePos: s.Body.Lbrace, Name: "true"}
stmt.go#L698: var lhs *ast.Ident // lhs identifier or nil
stmt.go#L709: lhs, _ = guard.Lhs[0].(*ast.Ident)
stmt.go#L878: type identType = ast.Ident
struct.go#L85: add := func(ident *ast.Ident, embedded bool) {
struct.go#L107: addInvalid := func(ident *ast.Ident) {
struct.go#L181: func embeddedFieldIdent(e ast.Expr) *ast.Ident {
struct.go#L183: case *ast.Ident:
typexpr.go#L21: func (check *Checker) ident(x *operand, e *ast.Ident, def *TypeName, wantType bool) {
typexpr.go#L256: case *ast.Ident:
typexpr.go#L513: if name, _ := e.(*ast.Ident); name != nil {
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#L1191: Instances: make(map[*ast.Ident]types.Instance),
golang.org/x/tools/go/types/typeutil
callee.go#L52: func usedIdent(info *types.Info, e ast.Expr) *ast.Ident {
callee.go#L70: case *ast.Ident:
golang.org/x/tools/internal/typesinternal
classify_call.go#L129: func UsedIdent(info *types.Info, e ast.Expr) *ast.Ident {
classify_call.go#L134: func usedIdent(info *types.Info, e ast.Expr) *ast.Ident
types.go#L147: Instances: map[*ast.Ident]types.Instance{},
types.go#L148: Defs: map[*ast.Ident]types.Object{},
types.go#L149: Uses: map[*ast.Ident]types.Object{},
zerovalue.go#L132: return &ast.Ident{Name: "false"}, true
zerovalue.go#L214: case *ast.Ident:
zerovalue.go#L275: Names: []*ast.Ident{
zerovalue.go#L320: Sel: expr.(*ast.Ident),
gotest.tools/v3/internal/assert
assert.go#L152: if ident, ok := expr.(*ast.Ident); ok {
result.go#L102: case *ast.Ident, *ast.SelectorExpr, *ast.IndexExpr, *ast.SliceExpr:
gotest.tools/v3/internal/source
update.go#L83: ident *ast.Ident,
update.go#L141: func getIdentForExpectedValueArg(expr []ast.Expr) (int, *ast.Ident) {
update.go#L144: case *ast.Ident: