Struct RustParser

Source
pub struct RustParser;
Expand description

Rust source code parser using syn for AST analysis.

Provides static methods for parsing Rust source files and extracting structural information about the code.

Implementations§

Source§

impl RustParser

Source

pub fn parse_rust_file(file_path: &str, content: &str) -> Result<RustAnalysis>

Parses a Rust source file and extracts structural information.

This method uses the syn crate to parse Rust source code into an AST and then extracts information about modules, functions, structs, enums, and implementations.

§Arguments
  • file_path - Path to the file being parsed (used for error reporting)
  • content - Source code content as a string
§Returns

A RustAnalysis containing all extracted structural information.

§Errors

Returns an error if the source code cannot be parsed as valid Rust syntax.

§Examples
use ai_context_gen::parser::RustParser;

let source = r#"
pub struct MyStruct {
    pub field: String,
}

impl MyStruct {
    pub fn new() -> Self {
        Self { field: String::new() }
    }
}
"#;

let analysis = RustParser::parse_rust_file("example.rs", source).unwrap();
assert_eq!(analysis.structs.len(), 1);
assert_eq!(analysis.implementations.len(), 1);

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