Trait AnalyzerDb

Source
pub trait AnalyzerDb:
    Database
    + HasQueryGroup<AnalyzerDbStorage>
    + SourceDb
    + Upcast<dyn SourceDb>
    + UpcastMut<dyn SourceDb> {
Show 93 methods // Required methods fn intern_ingot(&self, key0: Rc<Ingot>) -> IngotId; fn lookup_intern_ingot(&self, key0: IngotId) -> Rc<Ingot>; fn intern_module(&self, key0: Rc<Module>) -> ModuleId; fn lookup_intern_module(&self, key0: ModuleId) -> Rc<Module>; fn intern_module_const(&self, key0: Rc<ModuleConstant>) -> ModuleConstantId; fn lookup_intern_module_const( &self, key0: ModuleConstantId, ) -> Rc<ModuleConstant>; fn intern_struct(&self, key0: Rc<Struct>) -> StructId; fn lookup_intern_struct(&self, key0: StructId) -> Rc<Struct>; fn intern_struct_field(&self, key0: Rc<StructField>) -> StructFieldId; fn lookup_intern_struct_field(&self, key0: StructFieldId) -> Rc<StructField>; fn intern_enum(&self, key0: Rc<Enum>) -> EnumId; fn lookup_intern_enum(&self, key0: EnumId) -> Rc<Enum>; fn intern_attribute(&self, key0: Rc<Attribute>) -> AttributeId; fn lookup_intern_attribute(&self, key0: AttributeId) -> Rc<Attribute>; fn intern_enum_variant(&self, key0: Rc<EnumVariant>) -> EnumVariantId; fn lookup_intern_enum_variant(&self, key0: EnumVariantId) -> Rc<EnumVariant>; fn intern_trait(&self, key0: Rc<Trait>) -> TraitId; fn lookup_intern_trait(&self, key0: TraitId) -> Rc<Trait>; fn intern_impl(&self, key0: Rc<Impl>) -> ImplId; fn lookup_intern_impl(&self, key0: ImplId) -> Rc<Impl>; fn intern_type_alias(&self, key0: Rc<TypeAlias>) -> TypeAliasId; fn lookup_intern_type_alias(&self, key0: TypeAliasId) -> Rc<TypeAlias>; fn intern_contract(&self, key0: Rc<Contract>) -> ContractId; fn lookup_intern_contract(&self, key0: ContractId) -> Rc<Contract>; fn intern_contract_field(&self, key0: Rc<ContractField>) -> ContractFieldId; fn lookup_intern_contract_field( &self, key0: ContractFieldId, ) -> Rc<ContractField>; fn intern_function_sig(&self, key0: Rc<FunctionSig>) -> FunctionSigId; fn lookup_intern_function_sig(&self, key0: FunctionSigId) -> Rc<FunctionSig>; fn intern_function(&self, key0: Rc<Function>) -> FunctionId; fn lookup_intern_function(&self, key0: FunctionId) -> Rc<Function>; fn intern_type(&self, key0: Type) -> TypeId; fn lookup_intern_type(&self, key0: TypeId) -> Type; fn ingot_files(&self, key0: IngotId) -> Rc<[SourceFileId]>; fn set_ingot_files(&mut self, key0: IngotId, value__: Rc<[SourceFileId]>); fn set_ingot_files_with_durability( &mut self, key0: IngotId, value__: Rc<[SourceFileId]>, durability__: Durability, ); fn ingot_external_ingots( &self, key0: IngotId, ) -> Rc<IndexMap<SmolStr, IngotId>>; fn set_ingot_external_ingots( &mut self, key0: IngotId, value__: Rc<IndexMap<SmolStr, IngotId>>, ); fn set_ingot_external_ingots_with_durability( &mut self, key0: IngotId, value__: Rc<IndexMap<SmolStr, IngotId>>, durability__: Durability, ); fn root_ingot(&self) -> IngotId; fn set_root_ingot(&mut self, value__: IngotId); fn set_root_ingot_with_durability( &mut self, value__: IngotId, durability__: Durability, ); fn ingot_modules(&self, key0: IngotId) -> Rc<[ModuleId]>; fn ingot_root_module(&self, key0: IngotId) -> Option<ModuleId>; fn module_file_path(&self, key0: ModuleId) -> SmolStr; fn module_parse(&self, key0: ModuleId) -> Analysis<Rc<Module>>; fn module_is_incomplete(&self, key0: ModuleId) -> bool; fn module_all_items(&self, key0: ModuleId) -> Rc<[Item]>; fn module_all_impls(&self, key0: ModuleId) -> Analysis<Rc<[ImplId]>>; fn module_item_map( &self, key0: ModuleId, ) -> Analysis<Rc<IndexMap<SmolStr, Item>>>; fn module_impl_map( &self, key0: ModuleId, ) -> Analysis<Rc<IndexMap<(TraitId, TypeId), ImplId>>>; fn module_contracts(&self, key0: ModuleId) -> Rc<[ContractId]>; fn module_structs(&self, key0: ModuleId) -> Rc<[StructId]>; fn module_constants(&self, key0: ModuleId) -> Rc<Vec<ModuleConstantId>>; fn module_used_item_map( &self, key0: ModuleId, ) -> Analysis<Rc<IndexMap<SmolStr, (Span, Item)>>>; fn module_parent_module(&self, key0: ModuleId) -> Option<ModuleId>; fn module_submodules(&self, key0: ModuleId) -> Rc<[ModuleId]>; fn module_tests(&self, key0: ModuleId) -> Vec<FunctionId>; fn module_constant_type( &self, key0: ModuleConstantId, ) -> Analysis<Result<TypeId, TypeError>>; fn module_constant_value( &self, key0: ModuleConstantId, ) -> Analysis<Result<Constant, ConstEvalError>>; fn contract_all_functions(&self, key0: ContractId) -> Rc<[FunctionId]>; fn contract_function_map( &self, key0: ContractId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>; fn contract_public_function_map( &self, key0: ContractId, ) -> Rc<IndexMap<SmolStr, FunctionId>>; fn contract_init_function( &self, key0: ContractId, ) -> Analysis<Option<FunctionId>>; fn contract_call_function( &self, key0: ContractId, ) -> Analysis<Option<FunctionId>>; fn contract_all_fields(&self, key0: ContractId) -> Rc<[ContractFieldId]>; fn contract_field_map( &self, key0: ContractId, ) -> Analysis<Rc<IndexMap<SmolStr, ContractFieldId>>>; fn contract_field_type( &self, key0: ContractFieldId, ) -> Analysis<Result<TypeId, TypeError>>; fn contract_dependency_graph(&self, key0: ContractId) -> DepGraphWrapper; fn contract_runtime_dependency_graph( &self, key0: ContractId, ) -> DepGraphWrapper; fn function_signature( &self, key0: FunctionSigId, ) -> Analysis<Rc<FunctionSignature>>; fn function_body(&self, key0: FunctionId) -> Analysis<Rc<FunctionBody>>; fn function_dependency_graph(&self, key0: FunctionId) -> DepGraphWrapper; fn struct_all_fields(&self, key0: StructId) -> Rc<[StructFieldId]>; fn struct_field_map( &self, key0: StructId, ) -> Analysis<Rc<IndexMap<SmolStr, StructFieldId>>>; fn struct_field_type( &self, key0: StructFieldId, ) -> Analysis<Result<TypeId, TypeError>>; fn struct_all_functions(&self, key0: StructId) -> Rc<[FunctionId]>; fn struct_function_map( &self, key0: StructId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>; fn struct_dependency_graph( &self, key0: StructId, ) -> Analysis<DepGraphWrapper>; fn enum_all_variants(&self, key0: EnumId) -> Rc<[EnumVariantId]>; fn enum_variant_map( &self, key0: EnumId, ) -> Analysis<Rc<IndexMap<SmolStr, EnumVariantId>>>; fn enum_all_functions(&self, key0: EnumId) -> Rc<[FunctionId]>; fn enum_function_map( &self, key0: EnumId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>; fn enum_dependency_graph(&self, key0: EnumId) -> Analysis<DepGraphWrapper>; fn enum_variant_kind( &self, key0: EnumVariantId, ) -> Analysis<Result<EnumVariantKind, TypeError>>; fn trait_all_functions(&self, key0: TraitId) -> Rc<[FunctionSigId]>; fn trait_function_map( &self, key0: TraitId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionSigId>>>; fn trait_is_implemented_for(&self, key0: TraitId, key1: TypeId) -> bool; fn impl_all_functions(&self, key0: ImplId) -> Rc<[FunctionId]>; fn impl_function_map( &self, key0: ImplId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>; fn all_impls(&self, key0: TypeId) -> Rc<[ImplId]>; fn impl_for(&self, key0: TypeId, key1: TraitId) -> Option<ImplId>; fn function_sigs(&self, key0: TypeId, key1: SmolStr) -> Rc<[FunctionSigId]>; fn type_alias_type( &self, key0: TypeAliasId, ) -> Analysis<Result<TypeId, TypeError>>;
}

Required Methods§

Source

fn intern_ingot(&self, key0: Rc<Ingot>) -> IngotId

Source

fn lookup_intern_ingot(&self, key0: IngotId) -> Rc<Ingot>

Source

fn intern_module(&self, key0: Rc<Module>) -> ModuleId

Source

fn lookup_intern_module(&self, key0: ModuleId) -> Rc<Module>

Source

fn intern_module_const(&self, key0: Rc<ModuleConstant>) -> ModuleConstantId

Source

fn lookup_intern_module_const( &self, key0: ModuleConstantId, ) -> Rc<ModuleConstant>

Source

fn intern_struct(&self, key0: Rc<Struct>) -> StructId

Source

fn lookup_intern_struct(&self, key0: StructId) -> Rc<Struct>

Source

fn intern_struct_field(&self, key0: Rc<StructField>) -> StructFieldId

Source

fn lookup_intern_struct_field(&self, key0: StructFieldId) -> Rc<StructField>

Source

fn intern_enum(&self, key0: Rc<Enum>) -> EnumId

Source

fn lookup_intern_enum(&self, key0: EnumId) -> Rc<Enum>

Source

fn intern_attribute(&self, key0: Rc<Attribute>) -> AttributeId

Source

fn lookup_intern_attribute(&self, key0: AttributeId) -> Rc<Attribute>

Source

fn intern_enum_variant(&self, key0: Rc<EnumVariant>) -> EnumVariantId

Source

fn lookup_intern_enum_variant(&self, key0: EnumVariantId) -> Rc<EnumVariant>

Source

fn intern_trait(&self, key0: Rc<Trait>) -> TraitId

Source

fn lookup_intern_trait(&self, key0: TraitId) -> Rc<Trait>

Source

fn intern_impl(&self, key0: Rc<Impl>) -> ImplId

Source

fn lookup_intern_impl(&self, key0: ImplId) -> Rc<Impl>

Source

fn intern_type_alias(&self, key0: Rc<TypeAlias>) -> TypeAliasId

Source

fn lookup_intern_type_alias(&self, key0: TypeAliasId) -> Rc<TypeAlias>

Source

fn intern_contract(&self, key0: Rc<Contract>) -> ContractId

Source

fn lookup_intern_contract(&self, key0: ContractId) -> Rc<Contract>

Source

fn intern_contract_field(&self, key0: Rc<ContractField>) -> ContractFieldId

Source

fn lookup_intern_contract_field( &self, key0: ContractFieldId, ) -> Rc<ContractField>

Source

fn intern_function_sig(&self, key0: Rc<FunctionSig>) -> FunctionSigId

Source

fn lookup_intern_function_sig(&self, key0: FunctionSigId) -> Rc<FunctionSig>

Source

fn intern_function(&self, key0: Rc<Function>) -> FunctionId

Source

fn lookup_intern_function(&self, key0: FunctionId) -> Rc<Function>

Source

fn intern_type(&self, key0: Type) -> TypeId

Source

fn lookup_intern_type(&self, key0: TypeId) -> Type

Source

fn ingot_files(&self, key0: IngotId) -> Rc<[SourceFileId]>

Source

fn set_ingot_files(&mut self, key0: IngotId, value__: Rc<[SourceFileId]>)

Set the value of the ingot_files input.

See ingot_files for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn set_ingot_files_with_durability( &mut self, key0: IngotId, value__: Rc<[SourceFileId]>, durability__: Durability, )

Set the value of the ingot_files input and promise that its value will never change again.

See ingot_files for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn ingot_external_ingots(&self, key0: IngotId) -> Rc<IndexMap<SmolStr, IngotId>>

Source

fn set_ingot_external_ingots( &mut self, key0: IngotId, value__: Rc<IndexMap<SmolStr, IngotId>>, )

Set the value of the ingot_external_ingots input.

See ingot_external_ingots for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn set_ingot_external_ingots_with_durability( &mut self, key0: IngotId, value__: Rc<IndexMap<SmolStr, IngotId>>, durability__: Durability, )

Set the value of the ingot_external_ingots input and promise that its value will never change again.

See ingot_external_ingots for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn root_ingot(&self) -> IngotId

Source

fn set_root_ingot(&mut self, value__: IngotId)

Set the value of the root_ingot input.

See root_ingot for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn set_root_ingot_with_durability( &mut self, value__: IngotId, durability__: Durability, )

Set the value of the root_ingot input and promise that its value will never change again.

See root_ingot for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Source

fn ingot_modules(&self, key0: IngotId) -> Rc<[ModuleId]>

Source

fn ingot_root_module(&self, key0: IngotId) -> Option<ModuleId>

Source

fn module_file_path(&self, key0: ModuleId) -> SmolStr

Source

fn module_parse(&self, key0: ModuleId) -> Analysis<Rc<Module>>

Source

fn module_is_incomplete(&self, key0: ModuleId) -> bool

Source

fn module_all_items(&self, key0: ModuleId) -> Rc<[Item]>

Source

fn module_all_impls(&self, key0: ModuleId) -> Analysis<Rc<[ImplId]>>

Source

fn module_item_map( &self, key0: ModuleId, ) -> Analysis<Rc<IndexMap<SmolStr, Item>>>

Source

fn module_impl_map( &self, key0: ModuleId, ) -> Analysis<Rc<IndexMap<(TraitId, TypeId), ImplId>>>

Source

fn module_contracts(&self, key0: ModuleId) -> Rc<[ContractId]>

Source

fn module_structs(&self, key0: ModuleId) -> Rc<[StructId]>

Source

fn module_constants(&self, key0: ModuleId) -> Rc<Vec<ModuleConstantId>>

Source

fn module_used_item_map( &self, key0: ModuleId, ) -> Analysis<Rc<IndexMap<SmolStr, (Span, Item)>>>

Source

fn module_parent_module(&self, key0: ModuleId) -> Option<ModuleId>

Source

fn module_submodules(&self, key0: ModuleId) -> Rc<[ModuleId]>

Source

fn module_tests(&self, key0: ModuleId) -> Vec<FunctionId>

Source

fn module_constant_type( &self, key0: ModuleConstantId, ) -> Analysis<Result<TypeId, TypeError>>

Source

fn module_constant_value( &self, key0: ModuleConstantId, ) -> Analysis<Result<Constant, ConstEvalError>>

Source

fn contract_all_functions(&self, key0: ContractId) -> Rc<[FunctionId]>

Source

fn contract_function_map( &self, key0: ContractId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>

Source

fn contract_public_function_map( &self, key0: ContractId, ) -> Rc<IndexMap<SmolStr, FunctionId>>

Source

fn contract_init_function( &self, key0: ContractId, ) -> Analysis<Option<FunctionId>>

Source

fn contract_call_function( &self, key0: ContractId, ) -> Analysis<Option<FunctionId>>

Source

fn contract_all_fields(&self, key0: ContractId) -> Rc<[ContractFieldId]>

Source

fn contract_field_map( &self, key0: ContractId, ) -> Analysis<Rc<IndexMap<SmolStr, ContractFieldId>>>

Source

fn contract_field_type( &self, key0: ContractFieldId, ) -> Analysis<Result<TypeId, TypeError>>

Source

fn contract_dependency_graph(&self, key0: ContractId) -> DepGraphWrapper

Source

fn contract_runtime_dependency_graph(&self, key0: ContractId) -> DepGraphWrapper

Source

fn function_signature( &self, key0: FunctionSigId, ) -> Analysis<Rc<FunctionSignature>>

Source

fn function_body(&self, key0: FunctionId) -> Analysis<Rc<FunctionBody>>

Source

fn function_dependency_graph(&self, key0: FunctionId) -> DepGraphWrapper

Source

fn struct_all_fields(&self, key0: StructId) -> Rc<[StructFieldId]>

Source

fn struct_field_map( &self, key0: StructId, ) -> Analysis<Rc<IndexMap<SmolStr, StructFieldId>>>

Source

fn struct_field_type( &self, key0: StructFieldId, ) -> Analysis<Result<TypeId, TypeError>>

Source

fn struct_all_functions(&self, key0: StructId) -> Rc<[FunctionId]>

Source

fn struct_function_map( &self, key0: StructId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>

Source

fn struct_dependency_graph(&self, key0: StructId) -> Analysis<DepGraphWrapper>

Source

fn enum_all_variants(&self, key0: EnumId) -> Rc<[EnumVariantId]>

Source

fn enum_variant_map( &self, key0: EnumId, ) -> Analysis<Rc<IndexMap<SmolStr, EnumVariantId>>>

Source

fn enum_all_functions(&self, key0: EnumId) -> Rc<[FunctionId]>

Source

fn enum_function_map( &self, key0: EnumId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>

Source

fn enum_dependency_graph(&self, key0: EnumId) -> Analysis<DepGraphWrapper>

Source

fn enum_variant_kind( &self, key0: EnumVariantId, ) -> Analysis<Result<EnumVariantKind, TypeError>>

Source

fn trait_all_functions(&self, key0: TraitId) -> Rc<[FunctionSigId]>

Source

fn trait_function_map( &self, key0: TraitId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionSigId>>>

Source

fn trait_is_implemented_for(&self, key0: TraitId, key1: TypeId) -> bool

Source

fn impl_all_functions(&self, key0: ImplId) -> Rc<[FunctionId]>

Source

fn impl_function_map( &self, key0: ImplId, ) -> Analysis<Rc<IndexMap<SmolStr, FunctionId>>>

Source

fn all_impls(&self, key0: TypeId) -> Rc<[ImplId]>

Source

fn impl_for(&self, key0: TypeId, key1: TraitId) -> Option<ImplId>

Source

fn function_sigs(&self, key0: TypeId, key1: SmolStr) -> Rc<[FunctionSigId]>

Source

fn type_alias_type( &self, key0: TypeAliasId, ) -> Analysis<Result<TypeId, TypeError>>

Implementors§

Source§

impl<DB> AnalyzerDb for DB
where DB: SourceDb + Upcast<dyn SourceDb> + UpcastMut<dyn SourceDb> + Database + HasQueryGroup<AnalyzerDbStorage>,