pub mod analysis;
pub mod index;
pub mod input;
pub mod method_returns;
pub mod parse;
pub mod workspace_index;
#[allow(unused_imports)]
pub use input::{FileId, SourceFile, Workspace};
#[macro_export]
macro_rules! impl_arc_update {
($ty:ty) => {
unsafe impl salsa::Update for $ty {
unsafe fn maybe_update(old_pointer: *mut Self, new_value: Self) -> bool {
let old_ref = unsafe { &mut *old_pointer };
if std::sync::Arc::ptr_eq(&old_ref.0, &new_value.0) {
false
} else {
*old_ref = new_value;
true
}
}
}
};
}