#![no_std]
#![forbid(unsafe_code)]
extern crate alloc;
#[cfg(test)]
extern crate std;
mod decimal;
pub mod edit;
pub mod error;
pub mod facet;
pub mod field;
pub mod invariant;
pub mod kind;
pub mod model;
pub mod node;
pub mod profile;
pub mod query;
pub mod refs;
mod resolve;
pub mod snapshot;
pub use edit::AstTransaction;
pub use error::AstError;
pub use facet::{
AppliedAnnotation, AppliedArgument, AutoId, ByteSpan, ComponentRole, CorbaFacet, CoreDxFacet,
DataRepresentationMask, Extensibility, Facets, FastDdsFacet, FlatDataFacet, HomeManages,
MacroExpansion, MemberIdAssignment, MemberIdOrigin, OpenDdsFacet, RangeConstraint,
RepositoryIdOrigin, Ros2Facet, RosBoundedOrigin, RosInterfaceRole, RtiFacet, SourceFacet,
SourceOrigin, StateVisibility, TemplateArg, TemplateParam, TemplateParamKind, TopicAnnotation,
TryConstruct, VendorFacets, VendorKind, VerbatimDirective, VerbatimPlacement, XTypesFacet,
XmlFacet,
};
pub const DEFAULT_EXTENSIBILITY: facet::Extensibility = facet::Extensibility::Appendable;
pub const DEFAULT_BIT_BOUND: u16 = 32;
pub use invariant::InvariantViolation;
pub use kind::NodeKind;
pub use model::{Ast, MemberSpec, primitive};
pub use node::{
AnnotationDefNode, AnnotationMemberNode, AnyId, AttributeNode, BinaryOp, BitValueNode,
BitfieldNode, Bound, CaseLabel, CaseNode, CharWidth, Completeness, ConstExpr, ConstExprNode,
ConstNode, ConstValue, DomainNode, EndpointNode, EndpointRole, EnumeratorNode, EvalError,
ExceptionNode, InterfaceKind, InterfaceNode, LibraryNode, Literal, MemberNode, ModuleNode,
OperationNode, ParamDirection, ParamNode, ParticipantNode, PrimitiveKind, QosPolicy,
QosPolicyKind, QosProfileNode, TopicNode, TypeKind, TypeNode, UnaryOp, ValuetypeKind,
};
pub use profile::{
ConstructKind, FacetProperty, Profile, ProfileViolation, Verdict, construct_verdict,
facet_verdict,
};
pub use refs::{PendingSlot, RefKind};
pub use resolve::ResolveReport;