22d2778e00
This is just the first step; future CLs will add support for the new API to various packages currently using the old one. BUG=19930 R=sigmund@google.com Review URL: https://codereview.chromium.org//381363002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38360 260f80e4-7a28-3924-810f-c04153c831b5
16 lines
932 B
Markdown
16 lines
932 B
Markdown
`source_span` is a library for tracking locations in source code. It's designed
|
|
to provide a standard representation for source code locations and spans so that
|
|
disparate packages can easily pass them among one another, and to make it easy
|
|
to generate human-friendly messages associated with a given piece of code.
|
|
|
|
The most commonly-used class is the package's namesake, `SourceSpan`. It
|
|
represents a span of characters in some source file, and is often attached to an
|
|
object that has been parsed to indicate where it was parsed from. It provides
|
|
access to the text of the span via `SourceSpan.text` and can be used to produce
|
|
human-friendly messages using `SourceSpan.message()`.
|
|
|
|
When parsing code from a file, `SourceFile` is useful. Not only does it provide
|
|
an efficient means of computing line and column numbers, `SourceFile.span()`
|
|
returns special `FileSpan`s that are able to provide more context for their
|
|
error messages.
|