Struct apollo_compiler::database::hir::TypeSystem
source · pub struct TypeSystem {
pub definitions: Arc<TypeSystemDefinitions>,
pub inputs: IndexMap<FileId, Source>,
pub type_definitions_by_name: Arc<IndexMap<String, TypeDefinition>>,
pub subtype_map: Arc<HashMap<String, HashSet<String>>>,
}
Expand description
Contains TypeSystemDefinitions
together with:
- Other data that can be derived from it, computed eagerly
- Relevant inputs, so that diagnostics can print context
This can be used with set_type_system_hir
on another compiler.
Fields§
§definitions: Arc<TypeSystemDefinitions>
§inputs: IndexMap<FileId, Source>
§type_definitions_by_name: Arc<IndexMap<String, TypeDefinition>>
§subtype_map: Arc<HashMap<String, HashSet<String>>>
Trait Implementations§
source§impl Debug for TypeSystem
impl Debug for TypeSystem
source§impl PartialEq<TypeSystem> for TypeSystem
impl PartialEq<TypeSystem> for TypeSystem
source§fn eq(&self, other: &TypeSystem) -> bool
fn eq(&self, other: &TypeSystem) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for TypeSystem
impl StructuralEq for TypeSystem
impl StructuralPartialEq for TypeSystem
Auto Trait Implementations§
impl RefUnwindSafe for TypeSystem
impl Send for TypeSystem
impl Sync for TypeSystem
impl Unpin for TypeSystem
impl UnwindSafe for TypeSystem
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.