#![warn(missing_docs)]
pub mod collections;
pub mod object;
pub mod visitor;
pub use object::{Cast, Implements, IsA, RawWrapper};
include!(concat!(env!("OUT_DIR"), "/generated.rs"));
mod containers;
mod context;
mod node;
mod parser;
mod report;
mod source;
mod symbol;
pub use collections::{List, ListIter};
pub use context::{Profile, SourceFileType};
pub use report::ReportLevel;
pub use source::SourceLocation;
pub use symbol::Accessibility;
pub use visitor::{walk, walk_source_file, Visitor, Walker};
pub const API_VERSION: &str = env!("VALA_API_VERSION");
const _: () = assert!(GENERATED_TYPE_COUNT >= 100);
pub fn build_version() -> String {
unsafe {
let ptr = vala_sys::vala_get_build_version();
object::opt_string(ptr).unwrap_or_default()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn build_version_matches_api_version() {
let v = build_version();
let prefix = format!("{API_VERSION}.");
assert!(
v.starts_with(&prefix),
"build version {v} not in the {API_VERSION} series"
);
}
}