Home | History | Annotate | Download | only in src

Lines Matching defs:Pos

11 // A Pos encodes a source position consisting of a (line, column) number pair
12 // and a position base. A zero Pos is a ready to use "unknown" position (nil
24 type Pos struct {
30 var NoPos Pos
32 // MakePos creates a new Pos value with the given base, and (file-absolute)
34 func MakePos(base *PosBase, line, col uint) Pos {
35 return Pos{base, makeLico(line, col)}
41 func (p Pos) IsKnown() bool {
47 func (p Pos) Before(q Pos) bool {
54 func (p Pos) After(q Pos) bool {
60 func (p Pos) Filename() string { return p.base.Pos().RelFilename() }
63 func (p Pos) Base() *PosBase { return p.base }
66 func (p *Pos) SetBase(base *PosBase) { p.base = base }
69 func (p Pos) RelFilename() string { return p.base.Filename() }
72 func (p Pos) RelLine() uint { b := p.base; return b.Line() + p.Line() - b.Pos().Line() }
75 func (p Pos) AbsFilename() string { return p.base.AbsFilename() }
79 func (p Pos) SymFilename() string { return p.base.SymFilename() }
81 func (p Pos) String() string {
90 func (p Pos) Format(showCol, showOrig bool) string {
95 if b := p.base; b == b.Pos().base {
134 pos Pos
138 line uint // relative line number at pos
152 base.pos = MakePos(base, 0, 0)
160 // at position pos.
161 func NewLinePragmaBase(pos Pos, filename, absFilename string, line uint) *PosBase {
162 return &PosBase{pos, filename, absFilename, FileSymPrefix + absFilename, line - 1, -1}
170 base.pos = MakePos(base, 0, 0)
176 if old == old.pos.base {
177 base.pos.base = base
182 var noPos Pos
184 // Pos returns the position at which base is located.
186 func (b *PosBase) Pos() *Pos {
188 return &b.pos