Struct rustc_utils::source_map::range::CharPos
source · pub struct CharPos {
pub line: usize,
pub column: usize,
}
Expand description
CharPos is designed to match VSCode’s vscode.Position type. Both line and column are 0-based.
A previous version of CharPos used a global character-based index,
naively thinking this was the same as VSCode’s notion of an “offset”.
However, for files using CRLF line endings, VSCode ignores the \r
when computing offsets, while Rustc does not. The unhappy compromise
is to use line-column as a common coordinate system, which is robust
to choice of line endings.
Fields§
§line: usize
§column: usize
Trait Implementations§
source§impl Ord for CharPos
impl Ord for CharPos
source§impl PartialEq for CharPos
impl PartialEq for CharPos
source§impl PartialOrd for CharPos
impl PartialOrd for CharPos
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl TS for CharPos
impl TS for CharPos
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 CharPos
impl Eq for CharPos
impl StructuralPartialEq for CharPos
Auto Trait Implementations§
impl Freeze for CharPos
impl RefUnwindSafe for CharPos
impl Send for CharPos
impl Sync for CharPos
impl Unpin for CharPos
impl UnwindSafe for CharPos
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