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 nameres::{ItemMap, PerNs, Namespace, Resolution},
51 function::{Function, FnSignature, FnScopes, ScopesWithSyntaxMapping},
53 impl_block::{ImplBlock, ImplItem},
56 pub use self::function::FnSignatureInfo;
58 pub use self::code_model_api::{
59 Crate, CrateDependency,
60 Module, ModuleSource, Problem,
61 Struct, Enum, VariantData, StructField,