Crate ra_ap_base_db
source ·Expand description
base_db defines basic database traits. The concrete DB is defined by ide.
Re-exports
pub use salsa;
Modules
A set of high-level utility fixture methods to use in tests.
Macros
Structs
Path relative to a file.
Path relative to a file.
A panic payload indicating that a salsa revision was cancelled.
Encapsulate a bunch of raw
.set
calls on the database.CrateGraph
is a bit of information which turns a set of text files into a
number of Rust crates.Silly workaround for cyclic deps between the traits
Representative struct for the query group.
Representative struct for the query group.
Files are grouped into source roots. A source root is a directory on the
file systems which is watched for changes. Typically it corresponds to a
Rust crate. Source roots might be nested: in this case, a file belongs to
the nearest enclosing source root. Paths to files are always relative to a
source root, and the analyzer does not know the root path of the source root at
all. So, a file from one source root can’t refer to a file in another source
root by path.
Enums
Origin of the crates. It is used in emitting monikers.
Constants
Traits
Database which stores all significant input facts: source code and project
model. Everything else in rust-analyzer is derived from these queries.
We don’t want to give HIR knowledge of source roots, hence we extract these
methods into a separate DB.