use crate::{
common::{ Identifier, },
source::{ SourceRegion, },
ctx::{ GlobalKey, },
};
#[allow(missing_docs)]
pub enum AliasData {
Import { absolute: bool, relative_to: GlobalKey, chain: Vec<Identifier>, },
Export { base: Identifier, },
}
#[allow(missing_docs)]
pub struct Alias {
pub destination_module: GlobalKey,
pub data: AliasData,
pub new_name: Identifier,
pub origin: SourceRegion,
}
#[repr(u8)]
#[allow(missing_docs)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum Expect {
Require,
Allow,
Deny,
}
impl Default for Expect { #[inline] fn default () -> Self { Self::Allow } }
pub enum TyMeetResult {
Ok(GlobalKey),
Unresolvable,
None,
}