Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A file stack node.

Historically, RGBDS stored locations as simple strings, which were extended to contain the the full “file stack” (included files, macro calls, etc.); however, object files grew very large, as the strings contained a lot of repetition.

To solve the bloat problem, file stack nodes were introduced in format v9 r5; they store each scope in a unique way, building a tree. However, scopes don’t store line numbers, since several definitions may occur per scope, but instead store the line number at which their parent scope was exited.

Implementations§

Source§

impl Node

Source

pub fn parent(&self) -> Option<(u32, u32)>

Returns the ID of the parent node, and the line number at which it was exited. If the node is a root node, None is returned instead.

Source

pub fn type_data(&self) -> &NodeType

The node’s type and associated data.

Trait Implementations§

Source§

impl Debug for Node

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Node

§

impl RefUnwindSafe for Node

§

impl Send for Node

§

impl Sync for Node

§

impl Unpin for Node

§

impl UnwindSafe for Node

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> 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, 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.