use crate::{
daemonic::{
frame::{Frame, FrameType, ReferenceFrame},
glass::{Glass, Observation},
Anchor,
AnchorDomainSet,
SymbolicAnchor,
TopologySegment
},
DaemonicError,
SemanticAnchor,
};
pub use daemonic::*;
pub use generic::*;
use crate::compiler::DaemonicC;
pub mod compiler;
impl Frame for Error {
fn frame_type(&self) -> FrameType {
todo!()
}
}
impl Anchor for Error {
fn anchor_domains(&self) -> AnchorDomainSet {
todo!()
}
}
impl ReferenceFrame for Error {
fn origin(&self) -> &TopologySegment {
todo!()
}
fn transform_to<GLASS>(&self, observation: &impl Glass<GLASS>, target_frame: &dyn ReferenceFrame) -> Option<Observation<GLASS>>
where
GLASS: Clone,
Self: Sized,
{
todo!()
}
}
pub enum Error {
Generic(GenericError),
OS(os::OsError),
Daemonic(DaemonicVariants),
Compiler(DaemonicC),
}
static ERROR_SEGMENT: TopologySegment = TopologySegment::new("Daemonic::Glass::Error");
impl<'error> DaemonicError<'error> for Error {
fn position(&self) -> &TopologySegment {
&ERROR_SEGMENT
}
fn emit(&self) -> Error {
todo!("needs shit")
}
}
pub mod os;
pub mod daemonic;
pub mod generic;
pub mod physics_violation;