Struct rustc_utils::source_map::range::CharRange
source · pub struct CharRange {
pub start: CharPos,
pub end: CharPos,
pub filename: FilenameIndex,
}
Expand description
Data structure for sharing spans outside rustc.
Rustc uses byte indexes to describe ranges of source code, whereas
most Javascript-based editors I’ve encountered (e.g. VSCode) use
character-based (really grapheme-based) indexes. This data structure
along with ByteRange
helps convert between the two representations.
Fields§
§start: CharPos
§end: CharPos
§filename: FilenameIndex
Implementations§
Trait Implementations§
source§impl PartialEq for CharRange
impl PartialEq for CharRange
source§impl TS for CharRange
impl TS for CharRange
const EXPORT_TO: Option<&'static str> = _
source§fn decl() -> String
fn decl() -> String
Declaration of this type, e.g.
interface User { user_id: number, ... }
.
This function will panic if the type has no declaration.source§fn inline() -> String
fn inline() -> String
Formats this types definition in TypeScript, e.g
{ user_id: number }
.
This function will panic if the type cannot be inlined.source§fn inline_flattened() -> String
fn inline_flattened() -> String
Flatten an type declaration.
This function will panic if the type cannot be flattened.
This function will panic if the type cannot be flattened.
source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Information about types this type depends on.
This is used for resolving imports when exporting to a file.
source§fn transparent() -> bool
fn transparent() -> bool
true
if this is a transparent type, e.g tuples or a list.This is used for resolving imports when using the
export!
macro.source§fn name_with_type_args(args: Vec<String>) -> String
fn name_with_type_args(args: Vec<String>) -> String
Name of this type in TypeScript, with type arguments.
source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
Manually export this type to a file.
The output file can be specified by annotating the type with
#[ts(export_to = ".."]
.
By default, the filename will be derived from the types name. Read moresource§fn export_to(path: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_to(path: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
Manually export this type to a file with a file with the specified path. This
function will ignore the
#[ts(export_to = "..)]
attribute.source§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
Manually generate bindings for this type, returning a
This function does not format the output, even if the
String
.This function does not format the output, even if the
format
feature is enabled.impl Copy for CharRange
impl Eq for CharRange
impl StructuralPartialEq for CharRange
Auto Trait Implementations§
impl Freeze for CharRange
impl RefUnwindSafe for CharRange
impl Send for CharRange
impl Sync for CharRange
impl Unpin for CharRange
impl UnwindSafe for CharRange
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more