[][src]Struct clang::TranslationUnit

pub struct TranslationUnit<'i> { /* fields omitted */ }

A preprocessed and parsed source file.

Methods

impl<'i> TranslationUnit<'i>[src]

pub fn from_ast<F: AsRef<Path>>(
    index: &'i Index,
    file: F
) -> Result<TranslationUnit<'i>, ()>
[src]

Constructs a new TranslationUnit from an AST file.

Failures

  • an unknown error occurs

pub fn get_diagnostics(&'i self) -> Vec<Diagnostic<'i>>[src]

Returns the diagnostics for this translation unit.

pub fn get_entity(&'i self) -> Entity<'i>[src]

Returns the entity for this translation unit.

pub fn get_file<F: AsRef<Path>>(&'i self, file: F) -> Option<File<'i>>[src]

Returns the file at the supplied path in this translation unit, if any.

pub fn get_memory_usage(&self) -> HashMap<MemoryUsage, usize>[src]

Returns the memory usage of this translation unit.

pub fn annotate(&'i self, tokens: &[Token<'i>]) -> Vec<Option<Entity<'i>>>[src]

Returns the AST entities which correspond to the supplied tokens, if any.

pub fn completer<F: Into<PathBuf>>(
    &self,
    file: F,
    line: u32,
    column: u32
) -> Completer
[src]

Returns a completer which runs code completion.

pub fn save<F: AsRef<Path>>(&self, file: F) -> Result<(), SaveError>[src]

Saves this translation unit to an AST file.

Failures

  • errors in the translation unit prevent saving
  • an unknown error occurs

pub fn reparse(
    self,
    unsaved: &[Unsaved]
) -> Result<TranslationUnit<'i>, SourceError>
[src]

Consumes this translation unit and reparses the source file it was created from with the same compiler arguments that were used originally.

Failures

  • an error occurs while deserializing an AST file
  • libclang crashes
  • an unknown error occurs

Trait Implementations

impl<'i> Drop for TranslationUnit<'i>[src]

impl<'i> Debug for TranslationUnit<'i>[src]

Auto Trait Implementations

impl<'i> !Send for TranslationUnit<'i>

impl<'i> !Sync for TranslationUnit<'i>

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.