go/ast.Spec.End (method)

51 uses

	go/ast (current package)
		ast.go#L35: 	End() token.Pos // position of first character immediately after the node
		ast.go#L219: 		return f.Type.End()
		ast.go#L520: 		return x.Elt.End()
		ast.go#L534: func (x *StarExpr) End() token.Pos       { return x.X.End() }
		ast.go#L535: func (x *UnaryExpr) End() token.Pos      { return x.X.End() }
		ast.go#L536: func (x *BinaryExpr) End() token.Pos     { return x.Y.End() }
		ast.go#L537: func (x *KeyValueExpr) End() token.Pos   { return x.Value.End() }
		ast.go#L538: func (x *ArrayType) End() token.Pos      { return x.Elt.End() }
		ast.go#L547: func (x *MapType) End() token.Pos       { return x.Value.End() }
		ast.go#L548: func (x *ChanType) End() token.Pos      { return x.Value.End() }
		ast.go#L794: func (s *DeclStmt) End() token.Pos { return s.Decl.End() }
		ast.go#L801: func (s *LabeledStmt) End() token.Pos { return s.Stmt.End() }
		ast.go#L802: func (s *ExprStmt) End() token.Pos    { return s.X.End() }
		ast.go#L803: func (s *SendStmt) End() token.Pos    { return s.Value.End() }
		ast.go#L807: func (s *AssignStmt) End() token.Pos { return s.Rhs[len(s.Rhs)-1].End() }
		ast.go#L812: 		return s.Results[n-1].End()
		ast.go#L827: 		return s.List[n-1].End()
		ast.go#L833: 		return s.Else.End()
		ast.go#L839: 		return s.Body[n-1].End()
		ast.go#L847: 		return s.Body[n-1].End()
		ast.go#L944: 		return s.Values[n-1].End()
		ast.go#L947: 		return s.Type.End()
		ast.go#L951: func (s *TypeSpec) End() token.Pos { return s.Type.End() }
		ast.go#L1012: 	return d.Specs[0].End()
		ast.go#L1064: 		return f.Decls[n-1].End()
		commentmap.go#L52: 	return pi < pj || pi == pj && a[i].End() > a[j].End()
		commentmap.go#L119: 	for i > 0 && (*s)[i-1].End() <= pos {
		commentmap.go#L187: 				pgend = fset.Position(pg.End())
		commentmap.go#L230: 		pend = fset.Position(p.End())
		import.go#L33: 			if j > i && lineAt(fset, s.Pos()) > 1+lineAt(fset, d.Specs[j-1].End()) {
		import.go#L112: 		pos[i] = posSpan{s.Pos(), s.End()}

	go/parser
		parser.go#L603: 			return nil, &ast.BadExpr{From: args[0].Pos(), To: args[0].End()}
		parser.go#L609: 		return x, &ast.BadExpr{From: args[0].Pos(), To: args[len(args)-1].End()}
		parser.go#L1507: 		return &ast.BadExpr{From: args[0].Pos(), To: args[len(args)-1].End()}
		parser.go#L1628: 		x = &ast.BadExpr{From: x.Pos(), To: p.safePos(x.End())}
		parser.go#L1651: 			x = &ast.BadExpr{From: x.Pos(), To: p.safePos(x.End())}
		parser.go#L1981: 		p.error(p.safePos(x.End()), fmt.Sprintf("function must be invoked in %s statement", callType))
		parser.go#L2059: 	return &ast.BadExpr{From: s.Pos(), To: p.safePos(s.End())}

	go/printer
		nodes.go#L148: 	endLine := p.lineFor(list[len(list)-1].End())
		nodes.go#L1269: 		var e = p.lineFor(list[len(list)-1].End())
		nodes.go#L1276: 				xe := p.lineFor(x.End())
		nodes.go#L1749: 		if to := n.End(); to.IsValid() {
		printer.go#L1093: 		end := n.End()

	go/types
		assignments.go#L485: 	scopePos := rhs[len(rhs)-1].End()
		errors.go#L261: 	start, end := node.Pos(), node.End()
		errors.go#L286: 		return posSpan{pos, pos, x.End()}
		errors.go#L290: 			return posSpan{pos, pos, x.expr.End()}
		stmt.go#L156: 	scope := NewScope(check.scope, node.Pos(), node.End(), comment)
		stmt.go#L725: 					scopePos = clause.List[n-1].End()

	gotest.tools/v3/internal/source
		defers.go#L15: 		case fileset.Position(node.End()).Line == lineNum: