Rather than making every application worry about every aspect of position tracking, the library should handle more of the job.
The next step is to define a standard Span type, a few supporting operations (including integration with failureprone::class SourceText), and some standard practices which go into a doc page. Longer term, perhaps a next generation of the system could do more automatically.
Implementation note: Things are probably simpler, faster, and more robust if spans are half-open ranges of positions rather than anchor-width pairs.
Rather than making every application worry about every aspect of position tracking, the library should handle more of the job.
The next step is to define a standard
Span
type, a few supporting operations (including integration withfailureprone
::class SourceText
), and some standard practices which go into a doc page. Longer term, perhaps a next generation of the system could do more automatically.Implementation note: Things are probably simpler, faster, and more robust if spans are half-open ranges of positions rather than anchor-width pairs.