Struct rls_analysis::AnalysisHost
[−]
pub struct AnalysisHost<L: AnalysisLoader = CargoAnalysisLoader> { /* fields omitted */ }
Methods
impl AnalysisHost<CargoAnalysisLoader>
[src]
fn new(target: Target) -> AnalysisHost
fn new_with_blacklist(
target: Target,
blacklist: &'static [&'static str]
) -> AnalysisHost
target: Target,
blacklist: &'static [&'static str]
) -> AnalysisHost
impl<L: AnalysisLoader> AnalysisHost<L>
[src]
fn new_with_loader(l: L) -> AnalysisHost<L>
fn reload_from_analysis(
&self,
analysis: Analysis,
path_prefix: &Path,
base_dir: &Path
) -> AResult<()>
&self,
analysis: Analysis,
path_prefix: &Path,
base_dir: &Path
) -> AResult<()>
Reloads given data passed in analysis
. This will first check and read
on-disk data (just like reload
). It then imports the data we're
passing in directly.
fn reload(&self, path_prefix: &Path, base_dir: &Path) -> AResult<()>
fn hard_reload(&self, path_prefix: &Path, base_dir: &Path) -> AResult<()>
fn has_def(&self, id: Id) -> bool
Note that self.has_def == true =/> self.goto_def.is_some(), since if the def is in an api crate, there is no reasonable span to jump to.
fn get_def(&self, id: Id) -> AResult<Def>
fn goto_def(&self, span: &Span) -> AResult<Span>
fn for_each_child_def<F, T>(&self, id: Id, f: F) -> AResult<Vec<T>> where
F: FnMut(Id, &Def) -> T,
F: FnMut(Id, &Def) -> T,
fn def_parents(&self, id: Id) -> AResult<Vec<(Id, String)>>
fn def_roots(&self) -> AResult<Vec<(Id, String)>>
Returns the name of each crate in the program and the id of the root module of that crate.
fn id(&self, span: &Span) -> AResult<Id>
fn crate_local_id(&self, span: &Span) -> AResult<Id>
Like id, but will only return a value if it is in the same crate as span.
fn find_all_refs(&self, span: &Span, include_decl: bool) -> AResult<Vec<Span>>
fn show_type(&self, span: &Span) -> AResult<String>
fn docs(&self, span: &Span) -> AResult<String>
fn search(&self, name: &str) -> AResult<Vec<Span>>
Search for a symbol name, returns a list of spans matching defs and refs for that name.
fn find_all_refs_by_id(&self, id: Id) -> AResult<Vec<Span>>
fn find_impls(&self, id: Id) -> AResult<Vec<Span>>
fn search_for_id(&self, name: &str) -> AResult<Vec<Id>>
Search for a symbol name, returning a list of def_ids for that name.