aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/query_definitions.rs
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2018-12-20 20:56:28 +0000
committerFlorian Diebold <[email protected]>2018-12-23 12:48:04 +0000
commit3ac605e6876056fa56098231cc2f96553faab8f0 (patch)
tree82294448f696bae2ba640c4fb74dac9b929265a3 /crates/ra_hir/src/query_definitions.rs
parentd77520fde3c953968beb09a3da80a0e7b17bbc04 (diff)
Add beginnings of type infrastructure
Diffstat (limited to 'crates/ra_hir/src/query_definitions.rs')
-rw-r--r--crates/ra_hir/src/query_definitions.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs
index efaeb1525..ccbfdf028 100644
--- a/crates/ra_hir/src/query_definitions.rs
+++ b/crates/ra_hir/src/query_definitions.rs
@@ -19,6 +19,7 @@ use crate::{
19 imp::Submodule, 19 imp::Submodule,
20 nameres::{InputModuleItems, ItemMap, Resolver}, 20 nameres::{InputModuleItems, ItemMap, Resolver},
21 }, 21 },
22 ty::{self, InferenceResult}
22}; 23};
23 24
24/// Resolve `FnId` to the corresponding `SyntaxNode` 25/// Resolve `FnId` to the corresponding `SyntaxNode`
@@ -35,6 +36,13 @@ pub(super) fn fn_scopes(db: &impl HirDatabase, fn_id: FnId) -> Arc<FnScopes> {
35 Arc::new(res) 36 Arc::new(res)
36} 37}
37 38
39pub(super) fn infer(db: &impl HirDatabase, fn_id: FnId) -> Arc<InferenceResult> {
40 let syntax = db.fn_syntax(fn_id);
41 let scopes = db.fn_scopes(fn_id);
42 let res = ty::infer(db, syntax.borrowed(), scopes);
43 Arc::new(res)
44}
45
38pub(super) fn file_items(db: &impl HirDatabase, file_id: FileId) -> Arc<SourceFileItems> { 46pub(super) fn file_items(db: &impl HirDatabase, file_id: FileId) -> Arc<SourceFileItems> {
39 let mut res = SourceFileItems::new(file_id); 47 let mut res = SourceFileItems::new(file_id);
40 let source_file = db.source_file(file_id); 48 let source_file = db.source_file(file_id);