pub struct TestDb { /* private fields */ }Trait Implementations§
Source§impl Database for TestDb
 
impl Database for TestDb
§fn sweep_all(&self, strategy: SweepStrategy)
 
fn sweep_all(&self, strategy: SweepStrategy)
Iterates through all query storage and removes any values that
have not been used since the last revision was created. The
intended use-cycle is that you first execute all of your
“main” queries; this will ensure that all query values they
consume are marked as used.  You then invoke this method to
remove other values that were not needed for your main query
results.
§fn salsa_event(&self, event_fn: Event)
 
fn salsa_event(&self, event_fn: Event)
This function is invoked at key points in the salsa
runtime. It permits the database to be customized and to
inject logging or other custom behavior.
§fn on_propagated_panic(&self) -> !
 
fn on_propagated_panic(&self) -> !
This function is invoked when a dependent query is being computed by the
other thread, and that thread panics.
§fn salsa_runtime(&self) -> &Runtime
 
fn salsa_runtime(&self) -> &Runtime
Gives access to the underlying salsa runtime.
§fn salsa_runtime_mut(&mut self) -> &mut Runtime
 
fn salsa_runtime_mut(&mut self) -> &mut Runtime
Gives access to the underlying salsa runtime.
Source§impl DatabaseOps for TestDb
 
impl DatabaseOps for TestDb
Source§fn ops_database(&self) -> &dyn Database
 
fn ops_database(&self) -> &dyn Database
Upcast this type to a 
dyn Database.Source§fn ops_salsa_runtime(&self) -> &Runtime
 
fn ops_salsa_runtime(&self) -> &Runtime
Gives access to the underlying salsa runtime.
Source§fn ops_salsa_runtime_mut(&mut self) -> &mut Runtime
 
fn ops_salsa_runtime_mut(&mut self) -> &mut Runtime
Gives access to the underlying salsa runtime.
Source§fn fmt_index(&self, input: DatabaseKeyIndex, fmt: &mut Formatter<'_>) -> Result
 
fn fmt_index(&self, input: DatabaseKeyIndex, fmt: &mut Formatter<'_>) -> Result
Formats a database key index in a human readable fashion.
Source§fn maybe_changed_since(
    &self,
    input: DatabaseKeyIndex,
    revision: Revision,
) -> bool
 
fn maybe_changed_since( &self, input: DatabaseKeyIndex, revision: Revision, ) -> bool
True if the computed value for 
input may have changed since revision.Source§fn for_each_query(&self, op: &mut dyn FnMut(&dyn QueryStorageMassOps))
 
fn for_each_query(&self, op: &mut dyn FnMut(&dyn QueryStorageMassOps))
Executes the callback for each kind of query.
Source§impl DatabaseStorageTypes for TestDb
 
impl DatabaseStorageTypes for TestDb
Source§type DatabaseStorage = __SalsaDatabaseStorage
 
type DatabaseStorage = __SalsaDatabaseStorage
Defines the “storage type”, where all the query data is kept.
This type is defined by the 
database_storage macro.Source§impl HasQueryGroup<AnalyzerDbStorage> for TestDb
 
impl HasQueryGroup<AnalyzerDbStorage> for TestDb
Source§fn group_storage(&self) -> &<AnalyzerDbStorage as QueryGroup>::GroupStorage
 
fn group_storage(&self) -> &<AnalyzerDbStorage as QueryGroup>::GroupStorage
Access the group storage struct from the database.
Source§impl HasQueryGroup<SourceDbStorage> for TestDb
 
impl HasQueryGroup<SourceDbStorage> for TestDb
Source§fn group_storage(&self) -> &<SourceDbStorage as QueryGroup>::GroupStorage
 
fn group_storage(&self) -> &<SourceDbStorage as QueryGroup>::GroupStorage
Access the group storage struct from the database.
Auto Trait Implementations§
impl !Freeze for TestDb
impl RefUnwindSafe for TestDb
impl !Send for TestDb
impl !Sync for TestDb
impl Unpin for TestDb
impl UnwindSafe for TestDb
Blanket Implementations§
Source§impl<DB> AnalyzerDb for DB
 
impl<DB> AnalyzerDb for DB
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]>
Source§fn set_ingot_files(&mut self, key0: IngotId, value__: Rc<[SourceFileId]>)
 
fn set_ingot_files(&mut self, key0: IngotId, value__: Rc<[SourceFileId]>)
Set the value of the 
ingot_files input. Read moreSource§fn set_ingot_files_with_durability(
    &mut self,
    key0: IngotId,
    value__: Rc<[SourceFileId]>,
    durability__: Durability,
)
 
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. Read morefn 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>>,
)
 
fn set_ingot_external_ingots( &mut self, key0: IngotId, value__: Rc<IndexMap<SmolStr, IngotId>>, )
Set the value of the 
ingot_external_ingots input. Read moreSource§fn set_ingot_external_ingots_with_durability(
    &mut self,
    key0: IngotId,
    value__: Rc<IndexMap<SmolStr, IngotId>>,
    durability__: Durability,
)
 
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. Read morefn root_ingot(&self) -> IngotId
Source§fn set_root_ingot(&mut self, value__: IngotId)
 
fn set_root_ingot(&mut self, value__: IngotId)
Set the value of the 
root_ingot input. Read moreSource§fn set_root_ingot_with_durability(
    &mut self,
    value__: IngotId,
    durability__: Durability,
)
 
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. Read morefn 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>>
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<DB> SourceDb for DBwhere
    DB: Database + HasQueryGroup<SourceDbStorage>,
 
impl<DB> SourceDb for DBwhere
    DB: Database + HasQueryGroup<SourceDbStorage>,
fn intern_file(&self, key0: File) -> SourceFileId
fn lookup_intern_file(&self, key0: SourceFileId) -> File
Source§fn file_content(&self, key0: SourceFileId) -> Rc<str>
 
fn file_content(&self, key0: SourceFileId) -> Rc<str>
Set with `fn set_file_content(&mut self, file: SourceFileId, content: Rc) 
Source§fn set_file_content(&mut self, key0: SourceFileId, value__: Rc<str>)
 
fn set_file_content(&mut self, key0: SourceFileId, value__: Rc<str>)
Set the value of the 
file_content input. Read moreSource§fn set_file_content_with_durability(
    &mut self,
    key0: SourceFileId,
    value__: Rc<str>,
    durability__: Durability,
)
 
fn set_file_content_with_durability( &mut self, key0: SourceFileId, value__: Rc<str>, durability__: Durability, )
Set the value of the 
file_content input and promise
that its value will never change again. Read more