Lines Matching refs:Span
25 // Span represents a source code range in standardized form.
26 type Span struct {
31 // In general this should only be used as part of a Span, as on its own it
50 var Invalid = Span{v: span{Start: invalidPoint.v, End: invalidPoint.v}}
63 func New(uri URI, start Point, end Point) Span {
64 s := Span{v: span{URI: uri, Start: start.v, End: end.v}}
75 func Compare(a, b Span) int {
114 func (s Span) HasPosition() bool { return s.v.Start.hasPosition() }
115 func (s Span) HasOffset() bool { return s.v.Start.hasOffset() }
116 func (s Span) IsValid() bool { return s.v.Start.isValid() }
117 func (s Span) IsPoint() bool { return s.v.Start == s.v.End }
118 func (s Span) URI() URI { return s.v.URI }
119 func (s Span) Start() Point { return Point{s.v.Start} }
120 func (s Span) End() Point { return Point{s.v.End} }
121 func (s *Span) MarshalJSON() ([]byte, error) { return json.Marshal(&s.v) }
122 func (s *Span) UnmarshalJSON(b []byte) error { return json.Unmarshal(b, &s.v) }
180 func (s Span) Format(f fmt.State, c rune) {
230 func (s Span) WithPosition(c Converter) (Span, error) {
232 return Span{}, err
237 func (s Span) WithOffset(c Converter) (Span, error) {
239 return Span{}, err
244 func (s Span) WithAll(c Converter) (Span, error) {
246 return Span{}, err
251 func (s *Span) update(c Converter, withPos, withOffset bool) error {