马宇豪
2024-07-16 f591c27b57e2418c9495bc02ae8cfff84d35bc18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import {SourceLocation} from './source_location';
 
/**
 * A span of text within a source file.
 *
 * @category Logger
 */
export interface SourceSpan {
  /** The beginning of this span, inclusive. */
  start: SourceLocation;
 
  /**
   * The end of this span, exclusive.
   *
   * If [[start]] and [[end]] refer to the same location, the span has zero
   * length and refers to the point immediately after [[start]] and before the
   * next character.
   */
  end: SourceLocation;
 
  /** The canonical URL of the file this span refers to. */
  url?: URL;
 
  /** The text covered by the span. */
  text: string;
 
  /**
   * Text surrounding the span.
   *
   * If this is set, it must include only whole lines, and it must include at
   * least all line(s) which are partially covered by this span.
   */
  context?: string;
}