pub struct Index<'a> {
dependency_order: Vec<Handle<GlobalDecl<'a>>>,
}
Expand description
A GlobalDecl
list in which each definition occurs before all its uses.
Fields§
§dependency_order: Vec<Handle<GlobalDecl<'a>>>
Implementations§
source§impl<'a> Index<'a>
impl<'a> Index<'a>
sourcepub fn generate(tu: &TranslationUnit<'a>) -> Result<Self, Error<'a>>
pub fn generate(tu: &TranslationUnit<'a>) -> Result<Self, Error<'a>>
Generate an Index
for the given translation unit.
Perform a topological sort on tu
’s global declarations, placing
referents before the definitions that refer to them.
Return an error if the graph of references between declarations contains any cycles.
sourcepub fn visit_ordered(&self) -> impl Iterator<Item = Handle<GlobalDecl<'a>>> + '_
pub fn visit_ordered(&self) -> impl Iterator<Item = Handle<GlobalDecl<'a>>> + '_
Iterate over GlobalDecl
s, visiting each definition before all its uses.
Produce handles for all of the GlobalDecl
s of the TranslationUnit
passed to Index::generate
, ordered so that a given declaration is
produced before any other declaration that uses it.
Auto Trait Implementations§
impl<'a> Freeze for Index<'a>
impl<'a> RefUnwindSafe for Index<'a>
impl<'a> Send for Index<'a>
impl<'a> Sync for Index<'a>
impl<'a> Unpin for Index<'a>
impl<'a> UnwindSafe for Index<'a>
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