type go/token.Pos
382 uses
go/token (current package)
position.go#L83: type Pos int
position.go#L89: const NoPos Pos = 0
position.go#L92: func (p Pos) IsValid() bool {
position.go#L131: func (f *File) End() Pos {
position.go#L132: return Pos(f.base + f.size)
position.go#L233: func (f *File) LineStart(line int) Pos {
position.go#L242: return Pos(f.base + f.lines[line-1])
position.go#L310: func (f *File) Pos(offset int) Pos {
position.go#L311: return Pos(f.base + f.fixOffset(offset))
position.go#L323: func (f *File) Offset(p Pos) int {
position.go#L329: func (f *File) Line(p Pos) int {
position.go#L383: func (f *File) position(p Pos, adjusted bool) (pos Position) {
position.go#L395: func (f *File) PositionFor(p Pos, adjusted bool) (pos Position) {
position.go#L405: func (f *File) Position(p Pos) (pos Position) {
position.go#L566: func (s *FileSet) file(p Pos) *File {
position.go#L588: func (s *FileSet) File(p Pos) (f *File) {
position.go#L599: func (s *FileSet) PositionFor(p Pos, adjusted bool) (pos Position) {
position.go#L610: func (s *FileSet) Position(p Pos) (pos Position) {
go/ast
ast.go#L37: Pos() token.Pos // position of first character belonging to the node
ast.go#L38: End() token.Pos // position of first character immediately after the node
ast.go#L69: Slash token.Pos // position of "/" starting the comment
ast.go#L73: func (c *Comment) Pos() token.Pos { return c.Slash }
ast.go#L74: func (c *Comment) End() token.Pos { return token.Pos(int(c.Slash) + len(c.Text)) }
ast.go#L82: func (g *CommentGroup) Pos() token.Pos { return g.List[0].Pos() }
ast.go#L83: func (g *CommentGroup) End() token.Pos { return g.List[len(g.List)-1].End() }
ast.go#L209: func (f *Field) Pos() token.Pos {
ast.go#L219: func (f *Field) End() token.Pos {
ast.go#L235: Opening token.Pos // position of opening parenthesis/brace/bracket, if any
ast.go#L237: Closing token.Pos // position of closing parenthesis/brace/bracket, if any
ast.go#L240: func (f *FieldList) Pos() token.Pos {
ast.go#L252: func (f *FieldList) End() token.Pos {
ast.go#L287: From, To token.Pos // position range of bad expression
ast.go#L292: NamePos token.Pos // identifier position
ast.go#L301: Ellipsis token.Pos // position of "..."
ast.go#L317: ValuePos token.Pos // literal position
ast.go#L318: ValueEnd token.Pos // position immediately after the literal
ast.go#L332: Lbrace token.Pos // position of "{"
ast.go#L334: Rbrace token.Pos // position of "}"
ast.go#L340: Lparen token.Pos // position of "("
ast.go#L342: Rparen token.Pos // position of ")"
ast.go#L354: Lbrack token.Pos // position of "["
ast.go#L356: Rbrack token.Pos // position of "]"
ast.go#L363: Lbrack token.Pos // position of "["
ast.go#L365: Rbrack token.Pos // position of "]"
ast.go#L371: Lbrack token.Pos // position of "["
ast.go#L376: Rbrack token.Pos // position of "]"
ast.go#L384: Lparen token.Pos // position of "("
ast.go#L386: Rparen token.Pos // position of ")"
ast.go#L392: Lparen token.Pos // position of "("
ast.go#L394: Ellipsis token.Pos // position of "..." (token.NoPos if there is no "...")
ast.go#L395: Rparen token.Pos // position of ")"
ast.go#L402: Star token.Pos // position of "*"
ast.go#L410: OpPos token.Pos // position of Op
ast.go#L418: OpPos token.Pos // position of Op
ast.go#L428: Colon token.Pos // position of ":"
ast.go#L448: Lbrack token.Pos // position of "["
ast.go#L455: Struct token.Pos // position of "struct" keyword
ast.go#L464: Func token.Pos // position of "func" keyword (token.NoPos if there is no "func")
ast.go#L472: Interface token.Pos // position of "interface" keyword
ast.go#L479: Map token.Pos // position of "map" keyword
ast.go#L486: Begin token.Pos // position of "chan" keyword or "<-" (whichever comes first)
ast.go#L487: Arrow token.Pos // position of "<-" (token.NoPos if there is no "<-")
ast.go#L495: func (x *BadExpr) Pos() token.Pos { return x.From }
ast.go#L496: func (x *Ident) Pos() token.Pos { return x.NamePos }
ast.go#L497: func (x *Ellipsis) Pos() token.Pos { return x.Ellipsis }
ast.go#L498: func (x *BasicLit) Pos() token.Pos { return x.ValuePos }
ast.go#L499: func (x *FuncLit) Pos() token.Pos { return x.Type.Pos() }
ast.go#L500: func (x *CompositeLit) Pos() token.Pos {
ast.go#L506: func (x *ParenExpr) Pos() token.Pos { return x.Lparen }
ast.go#L507: func (x *SelectorExpr) Pos() token.Pos { return x.X.Pos() }
ast.go#L508: func (x *IndexExpr) Pos() token.Pos { return x.X.Pos() }
ast.go#L509: func (x *IndexListExpr) Pos() token.Pos { return x.X.Pos() }
ast.go#L510: func (x *SliceExpr) Pos() token.Pos { return x.X.Pos() }
ast.go#L511: func (x *TypeAssertExpr) Pos() token.Pos { return x.X.Pos() }
ast.go#L512: func (x *CallExpr) Pos() token.Pos { return x.Fun.Pos() }
ast.go#L513: func (x *StarExpr) Pos() token.Pos { return x.Star }
ast.go#L514: func (x *UnaryExpr) Pos() token.Pos { return x.OpPos }
ast.go#L515: func (x *BinaryExpr) Pos() token.Pos { return x.X.Pos() }
ast.go#L516: func (x *KeyValueExpr) Pos() token.Pos { return x.Key.Pos() }
ast.go#L517: func (x *ArrayType) Pos() token.Pos { return x.Lbrack }
ast.go#L518: func (x *StructType) Pos() token.Pos { return x.Struct }
ast.go#L519: func (x *FuncType) Pos() token.Pos {
ast.go#L525: func (x *InterfaceType) Pos() token.Pos { return x.Interface }
ast.go#L526: func (x *MapType) Pos() token.Pos { return x.Map }
ast.go#L527: func (x *ChanType) Pos() token.Pos { return x.Begin }
ast.go#L529: func (x *BadExpr) End() token.Pos { return x.To }
ast.go#L530: func (x *Ident) End() token.Pos { return token.Pos(int(x.NamePos) + len(x.Name)) }
ast.go#L531: func (x *Ellipsis) End() token.Pos {
ast.go#L537: func (x *BasicLit) End() token.Pos {
ast.go#L542: return token.Pos(int(x.ValuePos) + len(x.Value))
ast.go#L546: func (x *FuncLit) End() token.Pos { return x.Body.End() }
ast.go#L547: func (x *CompositeLit) End() token.Pos { return x.Rbrace + 1 }
ast.go#L548: func (x *ParenExpr) End() token.Pos { return x.Rparen + 1 }
ast.go#L549: func (x *SelectorExpr) End() token.Pos { return x.Sel.End() }
ast.go#L550: func (x *IndexExpr) End() token.Pos { return x.Rbrack + 1 }
ast.go#L551: func (x *IndexListExpr) End() token.Pos { return x.Rbrack + 1 }
ast.go#L552: func (x *SliceExpr) End() token.Pos { return x.Rbrack + 1 }
ast.go#L553: func (x *TypeAssertExpr) End() token.Pos { return x.Rparen + 1 }
ast.go#L554: func (x *CallExpr) End() token.Pos { return x.Rparen + 1 }
ast.go#L555: func (x *StarExpr) End() token.Pos { return x.X.End() }
ast.go#L556: func (x *UnaryExpr) End() token.Pos { return x.X.End() }
ast.go#L557: func (x *BinaryExpr) End() token.Pos { return x.Y.End() }
ast.go#L558: func (x *KeyValueExpr) End() token.Pos { return x.Value.End() }
ast.go#L559: func (x *ArrayType) End() token.Pos { return x.Elt.End() }
ast.go#L560: func (x *StructType) End() token.Pos { return x.Fields.End() }
ast.go#L561: func (x *FuncType) End() token.Pos {
ast.go#L567: func (x *InterfaceType) End() token.Pos { return x.Methods.End() }
ast.go#L568: func (x *MapType) End() token.Pos { return x.Value.End() }
ast.go#L569: func (x *ChanType) End() token.Pos { return x.Value.End() }
ast.go#L629: From, To token.Pos // position range of bad statement
ast.go#L642: Semicolon token.Pos // position of following ";"
ast.go#L649: Colon token.Pos // position of ":"
ast.go#L663: Arrow token.Pos // position of "<-"
ast.go#L670: TokPos token.Pos // position of Tok
ast.go#L679: TokPos token.Pos // position of Tok
ast.go#L686: Go token.Pos // position of "go" keyword
ast.go#L692: Defer token.Pos // position of "defer" keyword
ast.go#L698: Return token.Pos // position of "return" keyword
ast.go#L706: TokPos token.Pos // position of Tok
ast.go#L713: Lbrace token.Pos // position of "{"
ast.go#L715: Rbrace token.Pos // position of "}", if any (may be absent due to syntax error)
ast.go#L720: If token.Pos // position of "if" keyword
ast.go#L729: Case token.Pos // position of "case" or "default" keyword
ast.go#L731: Colon token.Pos // position of ":"
ast.go#L737: Switch token.Pos // position of "switch" keyword
ast.go#L745: Switch token.Pos // position of "switch" keyword
ast.go#L753: Case token.Pos // position of "case" or "default" keyword
ast.go#L755: Colon token.Pos // position of ":"
ast.go#L761: Select token.Pos // position of "select" keyword
ast.go#L767: For token.Pos // position of "for" keyword
ast.go#L776: For token.Pos // position of "for" keyword
ast.go#L778: TokPos token.Pos // position of Tok; invalid if Key == nil
ast.go#L780: Range token.Pos // position of "range" keyword
ast.go#L788: func (s *BadStmt) Pos() token.Pos { return s.From }
ast.go#L789: func (s *DeclStmt) Pos() token.Pos { return s.Decl.Pos() }
ast.go#L790: func (s *EmptyStmt) Pos() token.Pos { return s.Semicolon }
ast.go#L791: func (s *LabeledStmt) Pos() token.Pos { return s.Label.Pos() }
ast.go#L792: func (s *ExprStmt) Pos() token.Pos { return s.X.Pos() }
ast.go#L793: func (s *SendStmt) Pos() token.Pos { return s.Chan.Pos() }
ast.go#L794: func (s *IncDecStmt) Pos() token.Pos { return s.X.Pos() }
ast.go#L795: func (s *AssignStmt) Pos() token.Pos { return s.Lhs[0].Pos() }
ast.go#L796: func (s *GoStmt) Pos() token.Pos { return s.Go }
ast.go#L797: func (s *DeferStmt) Pos() token.Pos { return s.Defer }
ast.go#L798: func (s *ReturnStmt) Pos() token.Pos { return s.Return }
ast.go#L799: func (s *BranchStmt) Pos() token.Pos { return s.TokPos }
ast.go#L800: func (s *BlockStmt) Pos() token.Pos { return s.Lbrace }
ast.go#L801: func (s *IfStmt) Pos() token.Pos { return s.If }
ast.go#L802: func (s *CaseClause) Pos() token.Pos { return s.Case }
ast.go#L803: func (s *SwitchStmt) Pos() token.Pos { return s.Switch }
ast.go#L804: func (s *TypeSwitchStmt) Pos() token.Pos { return s.Switch }
ast.go#L805: func (s *CommClause) Pos() token.Pos { return s.Case }
ast.go#L806: func (s *SelectStmt) Pos() token.Pos { return s.Select }
ast.go#L807: func (s *ForStmt) Pos() token.Pos { return s.For }
ast.go#L808: func (s *RangeStmt) Pos() token.Pos { return s.For }
ast.go#L810: func (s *BadStmt) End() token.Pos { return s.To }
ast.go#L811: func (s *DeclStmt) End() token.Pos { return s.Decl.End() }
ast.go#L812: func (s *EmptyStmt) End() token.Pos {
ast.go#L818: func (s *LabeledStmt) End() token.Pos { return s.Stmt.End() }
ast.go#L819: func (s *ExprStmt) End() token.Pos { return s.X.End() }
ast.go#L820: func (s *SendStmt) End() token.Pos { return s.Value.End() }
ast.go#L821: func (s *IncDecStmt) End() token.Pos {
ast.go#L824: func (s *AssignStmt) End() token.Pos { return s.Rhs[len(s.Rhs)-1].End() }
ast.go#L825: func (s *GoStmt) End() token.Pos { return s.Call.End() }
ast.go#L826: func (s *DeferStmt) End() token.Pos { return s.Call.End() }
ast.go#L827: func (s *ReturnStmt) End() token.Pos {
ast.go#L833: func (s *BranchStmt) End() token.Pos {
ast.go#L837: return token.Pos(int(s.TokPos) + len(s.Tok.String()))
ast.go#L839: func (s *BlockStmt) End() token.Pos {
ast.go#L848: func (s *IfStmt) End() token.Pos {
ast.go#L854: func (s *CaseClause) End() token.Pos {
ast.go#L860: func (s *SwitchStmt) End() token.Pos { return s.Body.End() }
ast.go#L861: func (s *TypeSwitchStmt) End() token.Pos { return s.Body.End() }
ast.go#L862: func (s *CommClause) End() token.Pos {
ast.go#L868: func (s *SelectStmt) End() token.Pos { return s.Body.End() }
ast.go#L869: func (s *ForStmt) End() token.Pos { return s.Body.End() }
ast.go#L870: func (s *RangeStmt) End() token.Pos { return s.Body.End() }
ast.go#L914: EndPos token.Pos // end of spec (overrides Path.Pos if nonzero)
ast.go#L933: Assign token.Pos // position of '=', if any
ast.go#L941: func (s *ImportSpec) Pos() token.Pos {
ast.go#L947: func (s *ValueSpec) Pos() token.Pos { return s.Names[0].Pos() }
ast.go#L948: func (s *TypeSpec) Pos() token.Pos { return s.Name.Pos() }
ast.go#L950: func (s *ImportSpec) End() token.Pos {
ast.go#L957: func (s *ValueSpec) End() token.Pos {
ast.go#L966: func (s *TypeSpec) End() token.Pos { return s.Type.End() }
ast.go#L981: From, To token.Pos // position range of bad declaration
ast.go#L997: TokPos token.Pos // position of Tok
ast.go#L999: Lparen token.Pos // position of '(', if any
ast.go#L1001: Rparen token.Pos // position of ')', if any
ast.go#L1016: func (d *BadDecl) Pos() token.Pos { return d.From }
ast.go#L1017: func (d *GenDecl) Pos() token.Pos { return d.TokPos }
ast.go#L1018: func (d *FuncDecl) Pos() token.Pos { return d.Type.Pos() }
ast.go#L1020: func (d *BadDecl) End() token.Pos { return d.To }
ast.go#L1021: func (d *GenDecl) End() token.Pos {
ast.go#L1027: func (d *FuncDecl) End() token.Pos {
ast.go#L1066: Package token.Pos // position of "package" keyword
ast.go#L1070: FileStart, FileEnd token.Pos // start and end of entire file
ast.go#L1082: func (f *File) Pos() token.Pos { return f.Package }
ast.go#L1088: func (f *File) End() token.Pos {
ast.go#L1106: func (p *Package) Pos() token.Pos { return token.NoPos }
ast.go#L1107: func (p *Package) End() token.Pos { return token.NoPos }
commentmap.go#L102: func (s *nodeStack) pop(pos token.Pos) (top Node) {
directive.go#L38: Slash token.Pos
directive.go#L42: ArgsPos token.Pos
directive.go#L56: func ParseDirective(pos token.Pos, c string) (Directive, bool) {
directive.go#L98: func (d *Directive) Pos() token.Pos { return d.Slash }
directive.go#L99: func (d *Directive) End() token.Pos { return token.Pos(int(d.ArgsPos) + len(d.Args)) }
directive.go#L107: Pos token.Pos
directive.go#L154: pos token.Pos
directive.go#L158: s.pos += token.Pos(n)
filter.go#L357: var minPos, maxPos token.Pos
filter.go#L381: var pos token.Pos
import.go#L66: func lineAt(fset *token.FileSet, pos token.Pos) int {
import.go#L103: Start token.Pos
import.go#L104: End token.Pos
import.go#L132: var end token.Pos
import.go#L252: func updateBasicLitPos(lit *BasicLit, pos token.Pos) {
print.go#L244: case token.Pos:
resolve.go#L21: func (p *pkgBuilder) error(pos token.Pos, msg string) {
resolve.go#L25: func (p *pkgBuilder) errorf(pos token.Pos, format string, args ...any) {
scope.go#L103: func (obj *Object) Pos() token.Pos {
go/build
build.go#L1429: pos token.Pos
read.go#L416: func parseGoEmbed(fset *token.FileSet, pos token.Pos, comment string) ([]fileEmbed, error) {
go/doc
doc.go#L94: Pos, End token.Pos // position range of the comment containing the marker
example.go#L207: groupStart := func(s *ast.ImportSpec) token.Pos {
example.go#L508: func findImportGroupStarts(imps []*ast.ImportSpec) []token.Pos {
example.go#L510: groupStarts := make([]token.Pos, len(startImps))
example.go#L529: prevEnd := token.Pos(-2)
example.go#L729: func updateBasicLitPos(lit *ast.BasicLit, pos token.Pos) {
exports.go#L253: func copyConstType(typ ast.Expr, pos token.Pos) ast.Expr {
go/internal/scannerhooks
hooks.go#L11: var StringEnd func(scanner any) token.Pos
go/parser
interface.go#L122: f.FileStart = token.Pos(file.Base())
parser.go#L56: pos token.Pos // token position
parser.go#L59: stringEnd token.Pos // position immediately after token; STRING only
parser.go#L65: syncPos token.Pos // last synchronization position
parser.go#L180: func (p *parser) lineFor(pos token.Pos) int {
parser.go#L276: pos token.Pos
parser.go#L280: func (p *parser) error(pos token.Pos, msg string) {
parser.go#L303: func (p *parser) errorExpected(pos token.Pos, msg string) {
parser.go#L321: func (p *parser) expect(tok token.Token) token.Pos {
parser.go#L332: func (p *parser) expect2(tok token.Token) (pos token.Pos) {
parser.go#L344: func (p *parser) expectClosing(tok token.Token, context string) token.Pos {
parser.go#L573: func (p *parser) parseArrayType(lbrack token.Pos, len ast.Expr) *ast.ArrayType {
parser.go#L944: var errPos token.Pos
parser.go#L960: var errPos token.Pos // left-most error position (or invalid)
parser.go#L1323: var arrow token.Pos
parser.go#L1483: end := p.pos + token.Pos(len(p.lit))
parser.go#L1570: var colons [N - 1]token.Pos
parser.go#L1638: var ellipsis token.Pos
parser.go#L2121: pos token.Pos
parser.go#L2592: func (p *parser) parseGenericType(spec *ast.TypeSpec, openPos token.Pos, name0 *ast.Ident, typ0 ast.Expr) {
parser.go#L2760: var lparen, rparen token.Pos
parser.go#L2936: var declErr func(token.Pos, string)
parser.go#L2948: func packIndexExpr(x ast.Expr, lbrack token.Pos, exprs []ast.Expr, rbrack token.Pos) ast.Expr {
resolver.go#L21: func resolveFile(file *ast.File, handle *token.File, declErr func(token.Pos, string)) {
resolver.go#L49: pos := ident.Obj.Decl.(interface{ Pos() token.Pos }).Pos()
resolver.go#L61: declErr func(token.Pos, string)
resolver.go#L82: case token.Pos:
resolver.go#L89: func (r *resolver) openScope(pos token.Pos) {
go/printer
nodes.go#L126: func (p *printer) exprList(prev0 token.Pos, list []ast.Expr, depth int, mode exprListMode, next0 token.Pos, isIncomplete bool) {
nodes.go#L1913: func (p *printer) distanceFrom(startPos token.Pos, startOutCol int) int {
printer.go#L95: cachedPos token.Pos
printer.go#L184: func (p *printer) posFor(pos token.Pos) token.Position {
printer.go#L189: func (p *printer) lineFor(pos token.Pos) int {
printer.go#L885: func (p *printer) setPos(pos token.Pos) {
go/scanner
scanner.go#L44: nlPos token.Pos // position of newline in preceding comment
scanner.go#L45: stringEnd token.Pos // end position; defined only for STRING tokens
scanner.go#L53: scannerhooks.StringEnd = func(scanner any) token.Pos {
scanner.go#L810: func (s *Scanner) Scan() (pos token.Pos, tok token.Token, lit string) {
scanner.go#L863: s.stringEnd = pos + token.Pos(len(lit))
scanner.go#L873: s.stringEnd = pos + token.Pos(rawLen)
go/types
alias.go#L154: func (check *Checker) newAliasInstance(pos token.Pos, orig *Alias, targs []Type, expanding *Named, ctxt *Context) *Alias {
api.go#L53: Pos token.Pos // error position
api.go#L63: go116start token.Pos
api.go#L64: go116end token.Pos
call.go#L34: func (check *Checker) funcInst(T *target, pos token.Pos, x *operand, ix *indexedExpr, infer bool) []Type {
call.go#L132: func (check *Checker) instantiateSignature(pos token.Pos, expr ast.Expr, typ *Signature, targs []Type, xlist []ast.Expr) (res *Signature) {
check.go#L21: var nopos token.Pos
check.go#L89: exprPos token.Pos // if valid, identifiers are looked up as if at position pos (used by CheckExpr, Eval)
const.go#L22: func (check *Checker) overflow(x *operand, opPos token.Pos) {
decl.go#L16: func (check *Checker) declare(scope *Scope, id *ast.Ident, obj Object, pos token.Pos) {
decl.go#L713: func (check *Checker) declareTypeParam(name *ast.Ident, scopePos token.Pos) *TypeParam {
errors.go#L231: Pos() token.Pos
errors.go#L261: type atPos token.Pos
errors.go#L263: func (s atPos) Pos() token.Pos {
errors.go#L264: return token.Pos(s)
errors.go#L273: start, pos, end token.Pos
errors.go#L276: func (e posSpan) Pos() token.Pos {
errors.go#L283: func inNode(node ast.Node, pos token.Pos) posSpan {
eval.go#L24: func Eval(fset *token.FileSet, pkg *Package, pos token.Pos, expr string) (_ TypeAndValue, err error) {
eval.go#L56: func CheckExpr(fset *token.FileSet, pkg *Package, pos token.Pos, expr ast.Expr, info *Info) (err error) {
expr.go#L88: func opPos(x ast.Expr) token.Pos {
expr.go#L779: func (check *Checker) binary(x *operand, e ast.Expr, lhs, rhs ast.Expr, op token.Token, opPos token.Pos) {
format.go#L38: case token.Pos:
format.go#L101: func (check *Checker) trace(pos token.Pos, format string, args ...any) {
index.go#L465: lbrack token.Pos // position of "["
index.go#L467: rbrack token.Pos // position of "]"
index.go#L470: func (x *indexedExpr) Pos() token.Pos {
infer.go#L471: func (check *Checker) renameTParams(pos token.Pos, tparams []*TypeParam, typ Type) ([]*TypeParam, Type) {
instantiate.go#L90: func (check *Checker) instance(pos token.Pos, orig genericType, targs []Type, expanding *Named, ctxt *Context) (res Type) {
instantiate.go#L186: func (check *Checker) validateTArgLen(pos token.Pos, name string, want, got int) bool {
instantiate.go#L207: func (check *Checker) verify(pos token.Pos, tparams []*TypeParam, targs []Type, ctxt *Context) (int, error) {
interface.go#L21: embedPos *[]token.Pos // positions of embedded elements; or nil (for error messages) - use pointer to save space
interface.go#L160: addEmbedded := func(pos token.Pos, typ Type) {
interface.go#L163: ityp.embedPos = new([]token.Pos)
labels.go#L100: varDeclPos token.Pos
labels.go#L107: recordVarDecl := func(pos token.Pos) {
mono.go#L82: pos token.Pos
mono.go#L176: func (w *monoGraph) recordInstance(pkg *Package, pos token.Pos, tparams []*TypeParam, targs []Type, xlist []ast.Expr) {
mono.go#L187: func (w *monoGraph) assign(pkg *Package, pos token.Pos, tpar *TypeParam, targ Type) {
mono.go#L332: func (w *monoGraph) addEdge(dst, src, weight int, pos token.Pos, typ Type) {
named.go#L341: func (check *Checker) newNamedInstance(pos token.Pos, orig *Named, targs []Type, expanding *Named) *Named {
object.go#L31: Pos() token.Pos // position of object identifier in declaration
object.go#L63: scopePos() token.Pos
object.go#L66: setScopePos(pos token.Pos)
object.go#L97: pos token.Pos
object.go#L102: scopePos_ token.Pos
object.go#L110: func (obj *object) Pos() token.Pos { return obj.pos }
object.go#L132: func (obj *object) scopePos() token.Pos { return obj.scopePos_ }
object.go#L137: func (obj *object) setScopePos(pos token.Pos) { obj.scopePos_ = pos }
object.go#L212: func NewPkgName(pos token.Pos, pkg *Package, name string, imported *Package) *PkgName {
object.go#L228: func NewConst(pos token.Pos, pkg *Package, name string, typ Type, val constant.Value) *Const {
object.go#L253: func NewTypeName(pos token.Pos, pkg *Package, name string, typ Type) *TypeName {
object.go#L259: func _NewTypeNameLazy(pos token.Pos, pkg *Package, name string, load func(*Named) ([]*TypeParam, Type, []*Func, []func())) *TypeName {
object.go#L344: func NewVar(pos token.Pos, pkg *Package, name string, typ Type) *Var {
object.go#L352: func NewParam(pos token.Pos, pkg *Package, name string, typ Type) *Var {
object.go#L359: func NewField(pos token.Pos, pkg *Package, name string, typ Type, embedded bool) *Var {
object.go#L367: func newVar(kind VarKind, pos token.Pos, pkg *Package, name string, typ Type) *Var {
object.go#L408: func NewFunc(pos token.Pos, pkg *Package, name string, sig *Signature) *Func {
object.go#L499: func NewLabel(pos token.Pos, pkg *Package, name string) *Label {
operand.go#L69: func (x *operand) Pos() token.Pos {
resolver.go#L250: pos, end = token.Pos(f.Base()), f.End()
scope.go#L30: pos, end token.Pos // scope extent; may be invalid
scope.go#L37: func NewScope(parent *Scope, pos, end token.Pos, comment string) *Scope {
scope.go#L215: func (*lazyObject) Pos() token.Pos { panic("unreachable") }
scope.go#L227: func (*lazyObject) scopePos() token.Pos { panic("unreachable") }
scope.go#L228: func (*lazyObject) setScopePos(token.Pos) { panic("unreachable") }
scope2.go#L24: func (s *Scope) LookupParent(name string, pos token.Pos) (*Scope, Object) {
scope2.go#L37: func (s *Scope) Pos() token.Pos { return s.pos }
scope2.go#L38: func (s *Scope) End() token.Pos { return s.end }
scope2.go#L43: func (s *Scope) Contains(pos token.Pos) bool {
scope2.go#L52: func (s *Scope) Innermost(pos token.Pos) *Scope {
signature.go#L210: func (check *Checker) collectRecv(rparam *ast.Field, scopePos token.Pos) (*Var, *TypeParamList) {
signature.go#L464: func (check *Checker) declareParams(names []*ast.Ident, params []*Var, scopePos token.Pos) {
stmt.go#L232: pos token.Pos
struct.go#L200: func (check *Checker) declareInSet(oset *objset, pos token.Pos, obj Object) bool {
subst.go#L58: func (check *Checker) subst(pos token.Pos, typ Type, smap substMap, expanding *Named, ctxt *Context) Type {
subst.go#L85: pos token.Pos
typeset.go#L155: func computeInterfaceTypeSet(check *Checker, pos token.Pos, ityp *Interface) *_TypeSet {
typeset.go#L222: mpos := make(map[*Func]token.Pos) // method specification or method embedding position, for good error messages
typeset.go#L223: addMethod := func(pos token.Pos, m *Func, explicit bool) {
typeset.go#L264: var pos token.Pos // embedding position
typeset.go#L375: func computeUnionTypeSet(check *Checker, unionSets map[*Union]*_TypeSet, pos token.Pos, utyp *Union) *_TypeSet {
util.go#L28: func cmpPos(p, q token.Pos) int { return int(p - q) }
util.go#L50: func startPos(n ast.Node) token.Pos { return n.Pos() }
util.go#L53: func endPos(n ast.Node) token.Pos { return n.End() }
validtype.go#L30: func (check *Checker) validType0(pos token.Pos, typ Type, nest, path []*Named) bool {
go.pact.im/x/plumb/internal/diag
diag.go#L94: func PosIn(fset *token.FileSet, p token.Pos) token.Position {
golang.org/x/tools/go/ast/inspector
cursor.go#L488: func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) {
cursor.go#L504: var nodeEnd token.Pos
golang.org/x/tools/internal/aliases
aliases.go#L14: func New(pos token.Pos, pkg *types.Package, name string, rhs types.Type, tparams []*types.TypeParam) *types.TypeName {
golang.org/x/tools/internal/gcimporter
bimport.go#L36: func (s *fakeFileSet) pos(file string, line, column int) token.Pos {
bimport.go#L56: return token.Pos(f.file.Base() + line - 1)
iexport.go#L641: func (p *iexporter) fileIndexAndOffset(file *token.File, pos token.Pos) (uint64, uint64) {
iexport.go#L854: func (w *exportWriter) pos(pos token.Pos) {
iexport.go#L868: func (w *exportWriter) posV2(pos token.Pos) {
iexport.go#L879: func (w *exportWriter) posV1(pos token.Pos) {
iexport.go#L913: func (w *exportWriter) posV0(pos token.Pos) {
iimport.go#L816: func (r *importReader) pos() token.Pos {
iimport.go#L857: func (r *importReader) posv2() token.Pos {
ureader.go#L198: func (r *reader) pos() token.Pos {
golang.org/x/tools/internal/typeparams
common.go#L30: func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) {
common.go#L43: func PackIndexExpr(x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) ast.Expr {
golang.org/x/tools/internal/typesinternal
types.go#L54: func ErrorCodeStartEnd(err types.Error) (code ErrorCode, start, end token.Pos, ok bool) {
types.go#L65: return ErrorCode(data[0]), token.Pos(data[1]), token.Pos(data[2]), true