Skip to main content

ParsedImplExt

Trait ParsedImplExt 

Source
pub trait ParsedImplExt {
    // Required methods
    fn constructor_context(&self) -> Option<MethodContext<'_>>;
    fn instance_method_contexts(
        &self,
    ) -> impl Iterator<Item = MethodContext<'_>>;
    fn static_method_contexts(&self) -> impl Iterator<Item = MethodContext<'_>>;
    fn public_instance_method_contexts(
        &self,
    ) -> impl Iterator<Item = MethodContext<'_>>;
    fn private_instance_method_contexts(
        &self,
    ) -> impl Iterator<Item = MethodContext<'_>>;
    fn active_instance_method_contexts(
        &self,
    ) -> impl Iterator<Item = MethodContext<'_>>;
}
Expand description

Extension trait for ParsedImpl to iterate over methods as MethodContext.

Provides convenience methods that wrap ParsedImpl’s method iterators, automatically constructing a MethodContext for each method. This avoids repeating the MethodContext::new(m, type_ident, label) boilerplate in every class system generator.

Required Methods§

Source

fn constructor_context(&self) -> Option<MethodContext<'_>>

Create a MethodContext for the constructor method, if one exists.

Source

fn instance_method_contexts(&self) -> impl Iterator<Item = MethodContext<'_>>

Iterate over all instance methods (public + private + active) as MethodContext.

Source

fn static_method_contexts(&self) -> impl Iterator<Item = MethodContext<'_>>

Iterate over static (non-receiver) methods as MethodContext.

Source

fn public_instance_method_contexts( &self, ) -> impl Iterator<Item = MethodContext<'_>>

Iterate over public instance methods as MethodContext (for R6 public list).

Source

fn private_instance_method_contexts( &self, ) -> impl Iterator<Item = MethodContext<'_>>

Iterate over private instance methods as MethodContext (for R6 private list).

Source

fn active_instance_method_contexts( &self, ) -> impl Iterator<Item = MethodContext<'_>>

Iterate over active binding methods as MethodContext (for R6 active list).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§