mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 19:58:32 +00:00
Merge #2057
2057: add some profiling calls r=matklad a=matklad Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
018b621f61
@ -16,6 +16,7 @@ mod search_scope;
|
|||||||
|
|
||||||
use once_cell::unsync::Lazy;
|
use once_cell::unsync::Lazy;
|
||||||
use ra_db::{SourceDatabase, SourceDatabaseExt};
|
use ra_db::{SourceDatabase, SourceDatabaseExt};
|
||||||
|
use ra_prof::profile;
|
||||||
use ra_syntax::{algo::find_node_at_offset, ast, AstNode, SourceFile, SyntaxNode, TextUnit};
|
use ra_syntax::{algo::find_node_at_offset, ast, AstNode, SourceFile, SyntaxNode, TextUnit};
|
||||||
|
|
||||||
use crate::{db::RootDatabase, FilePosition, FileRange, NavigationTarget, RangeInfo};
|
use crate::{db::RootDatabase, FilePosition, FileRange, NavigationTarget, RangeInfo};
|
||||||
@ -107,6 +108,8 @@ fn find_name<'a>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn process_definition(db: &RootDatabase, def: NameDefinition, name: String) -> Vec<FileRange> {
|
fn process_definition(db: &RootDatabase, def: NameDefinition, name: String) -> Vec<FileRange> {
|
||||||
|
let _p = profile("process_definition");
|
||||||
|
|
||||||
let pat = name.as_str();
|
let pat = name.as_str();
|
||||||
let scope = def.search_scope(db);
|
let scope = def.search_scope(db);
|
||||||
let mut refs = vec![];
|
let mut refs = vec![];
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
use hir::{Either, FromSource, Module, ModuleSource, Path, PathResolution, Source, SourceAnalyzer};
|
use hir::{Either, FromSource, Module, ModuleSource, Path, PathResolution, Source, SourceAnalyzer};
|
||||||
use ra_db::FileId;
|
use ra_db::FileId;
|
||||||
|
use ra_prof::profile;
|
||||||
use ra_syntax::{ast, match_ast, AstNode, AstPtr};
|
use ra_syntax::{ast, match_ast, AstNode, AstPtr};
|
||||||
use test_utils::tested_by;
|
use test_utils::tested_by;
|
||||||
|
|
||||||
@ -16,6 +17,7 @@ pub(crate) fn classify_name(
|
|||||||
file_id: FileId,
|
file_id: FileId,
|
||||||
name: &ast::Name,
|
name: &ast::Name,
|
||||||
) -> Option<NameDefinition> {
|
) -> Option<NameDefinition> {
|
||||||
|
let _p = profile("classify_name");
|
||||||
let parent = name.syntax().parent()?;
|
let parent = name.syntax().parent()?;
|
||||||
let file_id = file_id.into();
|
let file_id = file_id.into();
|
||||||
|
|
||||||
@ -108,6 +110,8 @@ pub(crate) fn classify_name_ref(
|
|||||||
) -> Option<NameDefinition> {
|
) -> Option<NameDefinition> {
|
||||||
use PathResolution::*;
|
use PathResolution::*;
|
||||||
|
|
||||||
|
let _p = profile("classify_name_ref");
|
||||||
|
|
||||||
let parent = name_ref.syntax().parent()?;
|
let parent = name_ref.syntax().parent()?;
|
||||||
let analyzer = SourceAnalyzer::new(db, file_id, name_ref.syntax(), None);
|
let analyzer = SourceAnalyzer::new(db, file_id, name_ref.syntax(), None);
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
use hir::{DefWithBody, HasSource, ModuleSource};
|
use hir::{DefWithBody, HasSource, ModuleSource};
|
||||||
use ra_db::{FileId, SourceDatabase, SourceDatabaseExt};
|
use ra_db::{FileId, SourceDatabase, SourceDatabaseExt};
|
||||||
|
use ra_prof::profile;
|
||||||
use ra_syntax::{AstNode, TextRange};
|
use ra_syntax::{AstNode, TextRange};
|
||||||
use rustc_hash::FxHashSet;
|
use rustc_hash::FxHashSet;
|
||||||
|
|
||||||
@ -14,6 +15,8 @@ use super::{NameDefinition, NameKind};
|
|||||||
|
|
||||||
impl NameDefinition {
|
impl NameDefinition {
|
||||||
pub(crate) fn search_scope(&self, db: &RootDatabase) -> FxHashSet<(FileId, Option<TextRange>)> {
|
pub(crate) fn search_scope(&self, db: &RootDatabase) -> FxHashSet<(FileId, Option<TextRange>)> {
|
||||||
|
let _p = profile("search_scope");
|
||||||
|
|
||||||
let module_src = self.container.definition_source(db);
|
let module_src = self.container.definition_source(db);
|
||||||
let file_id = module_src.file_id.original_file(db);
|
let file_id = module_src.file_id.original_file(db);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user