pub struct SemanticRustJudge { /* private fields */ }Expand description
Semantic analyzer that provides type information and cross-reference analysis
Implementations§
Trait Implementations§
Source§impl Default for SemanticRustJudge
impl Default for SemanticRustJudge
Source§impl Judge for SemanticRustJudge
impl Judge for SemanticRustJudge
Source§fn diagnostics(&self, source: &str) -> Vec<Diagnostic>
fn diagnostics(&self, source: &str) -> Vec<Diagnostic>
Parse the source code and return diagnostics
Source§fn symbols(&self, source: &str) -> Result<Vec<Symbol>, String>
fn symbols(&self, source: &str) -> Result<Vec<Symbol>, String>
Get all symbols in the source code
Source§fn symbol_at_position(
&self,
source: &str,
position: Position,
) -> Result<Option<Symbol>, String>
fn symbol_at_position( &self, source: &str, position: Position, ) -> Result<Option<Symbol>, String>
Find symbol at a specific position
Source§fn completions(
&self,
source: &str,
position: Position,
) -> Result<Vec<CompletionItem>, String>
fn completions( &self, source: &str, position: Position, ) -> Result<Vec<CompletionItem>, String>
Get completion suggestions at a position
Source§impl SemanticJudge for SemanticRustJudge
impl SemanticJudge for SemanticRustJudge
Source§fn hover(
&self,
source: &str,
position: Position,
) -> Result<Option<HoverInfo>, String>
fn hover( &self, source: &str, position: Position, ) -> Result<Option<HoverInfo>, String>
Get hover information at a position
Source§fn type_at_position(
&self,
source: &str,
position: Position,
) -> Result<Option<TypeInfo>, String>
fn type_at_position( &self, source: &str, position: Position, ) -> Result<Option<TypeInfo>, String>
Get type information at a position
Source§fn find_references(
&self,
source: &str,
position: Position,
) -> Result<Vec<Reference>, String>
fn find_references( &self, source: &str, position: Position, ) -> Result<Vec<Reference>, String>
Find all references to a symbol
Source§fn goto_definition(
&self,
source: &str,
position: Position,
) -> Result<Option<Range>, String>
fn goto_definition( &self, source: &str, position: Position, ) -> Result<Option<Range>, String>
Go to definition
Source§fn signature_help(
&self,
source: &str,
position: Position,
) -> Result<Option<SignatureHelp>, String>
fn signature_help( &self, source: &str, position: Position, ) -> Result<Option<SignatureHelp>, String>
Get signature help for function calls
Auto Trait Implementations§
impl !Freeze for SemanticRustJudge
impl !RefUnwindSafe for SemanticRustJudge
impl !Sync for SemanticRustJudge
impl Send for SemanticRustJudge
impl Unpin for SemanticRustJudge
impl UnsafeUnpin for SemanticRustJudge
impl UnwindSafe for SemanticRustJudge
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
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
Source§impl<T> Cast for T
impl<T> Cast for T
Source§fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
Cast a value to type
U using CastTo.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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