Skip to main content

pm_node

Struct pm_node 

Source
#[repr(C)]
pub struct pm_node { pub type_: pm_node_type_t, pub flags: pm_node_flags_t, pub node_id: u32, pub location: pm_location_t, }
Expand description

This is the base structure that represents a node in the syntax tree. It is embedded into every node type.

Fields§

§type_: pm_node_type_t

This represents the type of the node. It somewhat maps to the nodes that existed in the original grammar and ripper, but it is not a 1:1 mapping.

§flags: pm_node_flags_t

This represents any flags on the node. Some are common to all nodes, and some are specific to the type of node.

§node_id: u32

The unique identifier for this node, which is deterministic based on the source. It is used to identify unique nodes across parses. Nodes created outside of parsing have no position in the source and can use 0, which no parsed node uses.

§location: pm_location_t

This is the location of the node in the source. It is a range of bytes containing a start and an end.

Trait Implementations§

Source§

impl Clone for pm_node

Source§

fn clone(&self) -> pm_node

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 Copy for pm_node

Source§

impl Debug for pm_node

Source§

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

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

impl Default for pm_node

Source§

fn default() -> pm_node

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