Trait apollo_compiler::database::HirDatabase
source · pub trait HirDatabase: Database + HasQueryGroup<HirStorage> + InputDatabase + AstDatabase {
Show 34 methods
fn type_system_definitions(&self) -> Arc<TypeSystemDefinitions>;
fn operations(&self, key0: FileId) -> Arc<Vec<Arc<OperationDefinition>>>;
fn fragments(&self, key0: FileId) -> ByName<FragmentDefinition>;
fn all_operations(&self) -> Arc<Vec<Arc<OperationDefinition>>>;
fn all_fragments(&self) -> ByName<FragmentDefinition>;
fn schema(&self) -> Arc<SchemaDefinition>;
fn object_types(&self) -> ByName<ObjectTypeDefinition>;
fn scalars(&self) -> ByName<ScalarTypeDefinition>;
fn enums(&self) -> ByName<EnumTypeDefinition>;
fn unions(&self) -> ByName<UnionTypeDefinition>;
fn interfaces(&self) -> ByName<InterfaceTypeDefinition>;
fn directive_definitions(&self) -> ByName<DirectiveDefinition>;
fn input_objects(&self) -> ByName<InputObjectTypeDefinition>;
fn find_operation_by_name(
&self,
key0: FileId,
key1: String
) -> Option<Arc<OperationDefinition>>;
fn find_fragment_by_name(
&self,
key0: FileId,
key1: String
) -> Option<Arc<FragmentDefinition>>;
fn find_object_type_by_name(
&self,
key0: String
) -> Option<Arc<ObjectTypeDefinition>>;
fn find_union_by_name(
&self,
key0: String
) -> Option<Arc<UnionTypeDefinition>>;
fn find_enum_by_name(&self, key0: String) -> Option<Arc<EnumTypeDefinition>>;
fn find_interface_by_name(
&self,
key0: String
) -> Option<Arc<InterfaceTypeDefinition>>;
fn find_directive_definition_by_name(
&self,
key0: String
) -> Option<Arc<DirectiveDefinition>>;
fn find_types_with_directive(&self, key0: String) -> Arc<Vec<TypeDefinition>>;
fn find_input_object_by_name(
&self,
key0: String
) -> Option<Arc<InputObjectTypeDefinition>>;
fn types_definitions_by_name(&self) -> Arc<IndexMap<String, TypeDefinition>>;
fn find_type_definition_by_name(
&self,
key0: String
) -> Option<TypeDefinition>;
fn query_operations(
&self,
key0: FileId
) -> Arc<Vec<Arc<OperationDefinition>>>;
fn mutation_operations(
&self,
key0: FileId
) -> Arc<Vec<Arc<OperationDefinition>>>;
fn subscription_operations(
&self,
key0: FileId
) -> Arc<Vec<Arc<OperationDefinition>>>;
fn operation_fields(&self, key0: SelectionSet) -> Arc<Vec<Field>>;
fn operation_inline_fragment_fields(
&self,
key0: SelectionSet
) -> Arc<Vec<Field>>;
fn operation_fragment_spread_fields(
&self,
key0: SelectionSet
) -> Arc<Vec<Field>>;
fn selection_variables(&self, key0: SelectionSet) -> Arc<HashSet<Variable>>;
fn operation_definition_variables(
&self,
key0: Arc<Vec<VariableDefinition>>
) -> Arc<HashSet<Variable>>;
fn subtype_map(&self) -> Arc<HashMap<String, HashSet<String>>>;
fn is_subtype(&self, key0: String, key1: String) -> bool;
}Required Methods§
fn type_system_definitions(&self) -> Arc<TypeSystemDefinitions>
sourcefn operations(&self, key0: FileId) -> Arc<Vec<Arc<OperationDefinition>>>
fn operations(&self, key0: FileId) -> Arc<Vec<Arc<OperationDefinition>>>
Return all the operations defined in a file.
sourcefn fragments(&self, key0: FileId) -> ByName<FragmentDefinition>
fn fragments(&self, key0: FileId) -> ByName<FragmentDefinition>
Return all the fragments defined in a file.
sourcefn all_operations(&self) -> Arc<Vec<Arc<OperationDefinition>>>
fn all_operations(&self) -> Arc<Vec<Arc<OperationDefinition>>>
Return all the operations defined in any file.
sourcefn all_fragments(&self) -> ByName<FragmentDefinition>
fn all_fragments(&self) -> ByName<FragmentDefinition>
Return all the fragments defined in any file.