TypeCollector

Struct TypeCollector 

Source
pub struct TypeCollector {
    pub known_structs: HashMap<String, StructInfo>,
}
Expand description

Utility for collecting and organizing types for bindings generation

This struct provides filtering and transformation utilities that sit between the analysis phase (which produces TypeStructure) and the generation phase (which consumes filtered types and contexts). It acts as a one-stop-shop for filtering unused code and collecting only the types needed for generation.

Fields§

§known_structs: HashMap<String, StructInfo>

Implementations§

Source§

impl TypeCollector

Source

pub fn new() -> Self

Source

pub fn collect_used_types( &self, commands: &[CommandInfo], all_structs: &HashMap<String, StructInfo>, ) -> HashMap<String, StructInfo>

Filter only the types used by commands

Source

pub fn collect_referenced_types_from_structure( type_structure: &TypeStructure, used_types: &mut HashSet<String>, )

Recursively collect custom type names from TypeStructure Works directly with structured type information instead of string parsing

Source

pub fn create_command_contexts<V: TypeVisitor>( &self, commands: &[CommandInfo], visitor: &V, analyzer: &CommandAnalyzer, config: &GenerateConfig, ) -> Vec<CommandContext>

Create CommandContext instances from CommandInfo using the provided visitor

Source

pub fn create_event_contexts<V: TypeVisitor>( &self, events: &[EventInfo], visitor: &V, analyzer: &CommandAnalyzer, config: &GenerateConfig, ) -> Vec<EventContext>

Create EventContext instances from EventInfo using the provided visitor

Source

pub fn create_struct_contexts<V: TypeVisitor>( &self, used_structs: &HashMap<String, StructInfo>, visitor: &V, config: &GenerateConfig, ) -> Vec<StructContext>

Create StructContext instances from StructInfo using the provided visitor

Source

pub fn create_field_contexts<V: TypeVisitor>( &self, struct_info: &StructInfo, visitor: &V, config: &GenerateConfig, ) -> Vec<FieldContext>

Create FieldContext instances from StructInfo using the provided visitor

Trait Implementations§

Source§

impl Default for TypeCollector

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

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V