Struct swc_common::source_map::SourceFile [−][src]
pub struct SourceFile { pub name: FileName, pub name_was_remapped: bool, pub unmapped_path: Option<FileName>, pub crate_of_origin: u32, pub src: Lrc<String>, pub src_hash: u128, pub start_pos: BytePos, pub end_pos: BytePos, pub lines: Vec<BytePos>, pub multibyte_chars: Vec<MultiByteChar>, pub non_narrow_chars: Vec<NonNarrowChar>, pub name_hash: u128, }
Expand description
A single source in the SourceMap.
Fields
name: FileName
The name of the file that the source came from. Source that doesn’t
originate from files has names between angle brackets by convention,
e.g. <anon>
name_was_remapped: bool
True if the name
field above has been modified by
--remap-path-prefix
unmapped_path: Option<FileName>
The unmapped path of the file that the source came from.
Set to None
if the SourceFile
was imported from an external crate.
crate_of_origin: u32
Indicates which crate this SourceFile
was imported from.
src: Lrc<String>
The complete source code
src_hash: u128
The source code’s hash
start_pos: BytePos
The start position of this source in the SourceMap
end_pos: BytePos
The end position of this source in the SourceMap
lines: Vec<BytePos>
Locations of lines beginnings in the source code
multibyte_chars: Vec<MultiByteChar>
Locations of multi-byte characters in the source code
non_narrow_chars: Vec<NonNarrowChar>
Width of characters that are not narrow in the source code
name_hash: u128
A hash of the filename, used for speeding up the incr. comp. hashing.
Implementations
pub fn new(
name: FileName,
name_was_remapped: bool,
unmapped_path: FileName,
src: String,
start_pos: BytePos
) -> SourceFile
Return the BytePos of the beginning of the current line.
Get a line from the list of pre-computed line-beginnings. The line number here is 0-based.
Find the line containing the given position. The return value is the
index into the lines
array of this SourceFile, not the 1-based line
number. If the source_file
is empty or the position is located before
the first line, None
is returned.
Trait Implementations
Creates an Input from SourceFile. This is an alias for
StringInput::new(&fm.src, fm.start_pos, fm.end_pos)
Performs the conversion.
Auto Trait Implementations
impl !RefUnwindSafe for SourceFile
impl !Send for SourceFile
impl !Sync for SourceFile
impl Unpin for SourceFile
impl UnwindSafe for SourceFile
Blanket Implementations
Mutably borrows from an owned value. Read more