pub struct ElixirAnalyzer { /* private fields */ }Implementations§
Trait Implementations§
Source§impl LanguageAnalyzer for ElixirAnalyzer
impl LanguageAnalyzer for ElixirAnalyzer
Source§fn language_name(&self) -> &'static str
fn language_name(&self) -> &'static str
Get the language name
Source§fn analyze_file(
&self,
_path: &Path,
_content: &str,
_context: &SemanticContext,
) -> SemanticResult<AnalysisResult>
fn analyze_file( &self, _path: &Path, _content: &str, _context: &SemanticContext, ) -> SemanticResult<AnalysisResult>
Analyze a file and extract semantic information
Source§fn can_handle_extension(&self, extension: &str) -> bool
fn can_handle_extension(&self, extension: &str) -> bool
Check if this analyzer can handle the given file extension
Source§fn supported_extensions(&self) -> Vec<&'static str>
fn supported_extensions(&self) -> Vec<&'static str>
Get file extensions this analyzer handles
Source§fn analyze_imports(
&self,
content: &str,
context: &SemanticContext,
) -> SemanticResult<Vec<Import>>
fn analyze_imports( &self, content: &str, context: &SemanticContext, ) -> SemanticResult<Vec<Import>>
Parse and analyze imports from the file
Source§fn analyze_function_calls(
&self,
content: &str,
context: &SemanticContext,
) -> SemanticResult<Vec<FunctionCall>>
fn analyze_function_calls( &self, content: &str, context: &SemanticContext, ) -> SemanticResult<Vec<FunctionCall>>
Parse and analyze function calls from the file
Source§fn analyze_type_references(
&self,
content: &str,
context: &SemanticContext,
) -> SemanticResult<Vec<TypeReference>>
fn analyze_type_references( &self, content: &str, context: &SemanticContext, ) -> SemanticResult<Vec<TypeReference>>
Parse and analyze type references from the file
Source§fn resolve_type_definition(
&self,
_type_ref: &TypeReference,
_context: &SemanticContext,
) -> Option<PathBuf>
fn resolve_type_definition( &self, _type_ref: &TypeReference, _context: &SemanticContext, ) -> Option<PathBuf>
Resolve a type reference to its definition file
Returns None if the type cannot be resolved or is external
Auto Trait Implementations§
impl Freeze for ElixirAnalyzer
impl RefUnwindSafe for ElixirAnalyzer
impl Send for ElixirAnalyzer
impl Sync for ElixirAnalyzer
impl Unpin for ElixirAnalyzer
impl UnwindSafe for ElixirAnalyzer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more