Skip to main content

FileSymbols

Struct FileSymbols 

Source
pub struct FileSymbols {
    pub namespace: Vec<u8>,
    pub defines: Vec<Vec<Symbol>>,
    pub references: Vec<Vec<Symbol>>,
}
Expand description

A file’s symbols, indexed by NEW-SIDE line number.

Both vectors are parallel and one entry per line, so an entry is addressed by the line number a hunk already carries. Lines with no symbols hold an empty Vec, which does not allocate — a 100k-line file costs pointers.

Fields§

§namespace: Vec<u8>

What these names are written in, as the reader chooses to name it. Two GLOBAL symbols are the same symbol only if their namespaces match as well as their names (ADR 0031).

Opaque to the domain. It is compared and never interpreted, so this still does not tell the graph which reader answered — only whether two answers are about the same body of names. An empty namespace is a namespace like any other, and matches only other empty ones.

§defines: Vec<Vec<Symbol>>§references: Vec<Vec<Symbol>>

Implementations§

Source§

impl FileSymbols

Source

pub fn defines_at(&self, line: u32) -> &[Symbol]

Symbols defined on line, counting from 1. Empty when out of range.

Source

pub fn references_at(&self, line: u32) -> &[Symbol]

Symbols referenced on line, counting from 1.

Trait Implementations§

Source§

impl Clone for FileSymbols

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for FileSymbols

Source§

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

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

impl Default for FileSymbols

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> Same for T

Source§

type Output = T

Should always be Self
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.