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 for TypeSystem
impl PartialEq 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
§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,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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.