1 //! HIR (previsouly known as descriptors) provides a high-level OO acess to Rust
4 //! The principal difference between HIR and syntax trees is that HIR is bound
5 //! to a particular crate instance. That is, it has cfg flags and features
6 //! applied. So, there relation between syntax and HIR is many-to-one.
11 None => return Ok(None),
20 mod query_definitions;
22 pub mod source_binder;
41 name::{AsName, KnownName},
42 ids::{DefKind, SourceItemId, SourceFileItemId, SourceFileItems},
46 path::{Path, PathKind},
48 ids::{HirFileId, DefId, DefLoc, MacroCallId, MacroCallLoc},
49 macros::{MacroDef, MacroInput, MacroExpansion},
50 module_tree::ModuleId,
51 nameres::{ItemMap, PerNs, Namespace, Resolution},
52 function::{Function, FnSignature, FnScopes, ScopesWithSyntaxMapping},
54 impl_block::{ImplBlock, ImplItem},
57 pub use self::function::FnSignatureInfo;
59 pub use self::code_model_api::{
60 Crate, CrateDependency,
61 Module, ModuleSource, Problem,