Struct File

Source
pub struct File<'tu> { /* private fields */ }
Expand description

A source file.

Implementations§

Source§

impl<'tu> File<'tu>

Source

pub fn get_path(&self) -> PathBuf

Returns the absolute path to this file.

Source

pub fn get_time(&self) -> time_t

Returns the last modification time for this file.

Source

pub fn get_id(&self) -> (u64, u64, u64)

Returns a unique identifier for this file.

Source

pub fn get_contents(&self) -> Option<String>

Returns the contents of this file, if this file has been loaded.

Source

pub fn get_module(&self) -> Option<Module<'tu>>

Returns the module containing this file, if any.

Source

pub fn get_skipped_ranges(&self) -> Vec<SourceRange<'tu>>

Returns the source ranges in this file that were skipped by the preprocessor.

This will always return an empty Vec if the translation unit that contains this file was not constructed with a detailed preprocessing record.

Source

pub fn is_include_guarded(&self) -> bool

Returns whether this file is guarded against multiple inclusions.

Source

pub fn get_location(&self, line: u32, column: u32) -> SourceLocation<'tu>

Returns the source location at the supplied line and column in this file.

§Panics
  • line or column is 0
Source

pub fn get_offset_location(&self, offset: u32) -> SourceLocation<'tu>

Returns the source location at the supplied character offset in this file.

Source

pub fn get_includes(&self) -> Vec<Entity<'tu>>

Returns the inclusion directives in this file.

Source

pub fn get_references(&self, entity: Entity<'tu>) -> Vec<Entity<'tu>>

Returns the references to the supplied entity in this file.

Source

pub fn visit_includes<F: FnMut(Entity<'tu>, SourceRange<'tu>) -> bool>( &self, f: F, ) -> bool

Visits the inclusion directives in this file and returns whether visitation was ended by the callback returning false.

Source

pub fn visit_references<F: FnMut(Entity<'tu>, SourceRange<'tu>) -> bool>( &self, entity: Entity<'tu>, f: F, ) -> bool

Visits the references to the supplied entity in this file and returns whether visitation was ended by the callback returning false.

Trait Implementations§

Source§

impl<'tu> Clone for File<'tu>

Source§

fn clone(&self) -> File<'tu>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'tu> Debug for File<'tu>

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'tu> Hash for File<'tu>

Source§

fn hash<H: Hasher>(&self, hasher: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'tu> PartialEq for File<'tu>

Source§

fn eq(&self, other: &File<'tu>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'tu> Copy for File<'tu>

Source§

impl<'tu> Eq for File<'tu>

Auto Trait Implementations§

§

impl<'tu> Freeze for File<'tu>

§

impl<'tu> RefUnwindSafe for File<'tu>

§

impl<'tu> !Send for File<'tu>

§

impl<'tu> !Sync for File<'tu>

§

impl<'tu> Unpin for File<'tu>

§

impl<'tu> UnwindSafe for File<'tu>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.