Skip to main content

Crate ridl_core

Crate ridl_core 

Source
Expand description

The RIDL family compiler core: the salsa incremental database, the queries built on the syntax layer (ADR-0004 §3), the coded Diagnostic model every pass emits (ADR-0004 §5), and the ns core — manifest, package model, and filesystem discovery (ADR-0002). The resolver and checker moved to ridl-sem (ADR-0007 decision 4).

Filesystem discovery (workspace) and the lockfile (lock) sit behind the default-on fs feature; remote fetch and the cache (fetch, cache) sit behind the default-on fetch feature, which implies fs (ADR-0007 decision 5). With --no-default-features the crate builds for wasm32-unknown-unknown.

Re-exports§

pub use cache::Cache;
pub use db::InputFile;
pub use db::RidlDatabase;
pub use db::parse_file;
pub use db::profile_of_path;
pub use diag::DiagCode;
pub use diag::Diagnostic;
pub use diag::FileId;
pub use diag::FixIt;
pub use diag::Label;
pub use diag::Severity;
pub use diag::SourceMap;
pub use diag::Span;
pub use diag::house_style_message;
pub use diag::render;
pub use diag::render;
pub use fetch::FetchError;
pub use fetch::Frozen;
pub use fetch::fetch;
pub use fetch::materialize_imports;
pub use lock::LockEntry;
pub use lock::Lockfile;
pub use lock::read_lockfile;
pub use lock::write_lockfile;
pub use manifest::Manifest;
pub use manifest::ManifestKind;
pub use manifest::TimingDefaults;
pub use manifest::parse_manifest;
pub use package::CatalogEntry;
pub use package::Package;
pub use package::PackageOrigin;
pub use package::ServiceCatalog;
pub use package::Workspace;
pub use package::package_of;
pub use package::service_catalog;
pub use std_lib::std_package;
pub use workspace::LoadError;
pub use workspace::LoadedWorkspace;
pub use workspace::Overlay;
pub use workspace::find_root;
pub use workspace::load_workspace;
pub use workspace::load_workspace_with;

Modules§

cache
The content-addressed package cache (ADR-0002 §7).
db
The salsa incremental database for the RIDL family (ADR-0004 §3).
diag
The coded diagnostic model every compiler pass emits (ADR-0004 §5, ADR-0007 decision 2).
fetch
Remote import fetch and materialization (ADR-0002 §5, §7; ADR-0004 §9).
interface_lock
The per-package interfaces.lock (lock design §2): the line table that gives every interface of a package its number.
lint
The lint registry: lint names and levels (ADR-0024 decisions 1 and 4).
lock
The ridl.lock lockfile (ADR-0002 §7).
manifest
The ridl.toml manifest parser (ADR-0002 §4).
package
The salsa package model (ADR-0002 §1).
std_lib
The embedded ridl.std package (typl reference Appendix A, ADR-0007 decision 15).
workspace
Filesystem discovery: from an entry path to a loaded Workspace (ADR-0002 §1, §4–5).