Struct ra_ap_ide_db::RootDatabase[][src]

pub struct RootDatabase { /* fields omitted */ }

Implementations

Trait Implementations

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. Read more

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. Read more

Starts unwinding the stack if the current revision is cancelled. Read more

Gives access to the underlying salsa runtime. Read more

Gives access to the underlying salsa runtime. Read more

Upcast this type to a dyn Database.

Gives access to the underlying salsa runtime.

Gives access to the underlying salsa runtime.

Formats a database key index in a human readable fashion.

True if the computed value for input may have changed since revision.

Executes the callback for each kind of query.

Defines the “storage type”, where all the query data is kept. This type is defined by the database_storage macro. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Executes the destructor for this type. Read more

Text of the file.

Access the group storage struct from the database.

Access the group storage struct from the database.

Access the group storage struct from the database.

Access the group storage struct from the database.

Access the group storage struct from the database.

Access the group storage struct from the database.

Access the group storage struct from the database.

Access the group storage struct from the database.

Creates a second handle to the database that holds the database fixed at a particular revision. So long as this “frozen” handle exists, any attempt to set an input will block. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Main public API – parses a hir file, not caring whether it’s a real file or a macro expansion. Read more

Implementation for the macro case.

Macro ids. That’s probably the tricksiest bit in rust-analyzer, and the reason why we use salsa at all. Read more

Lowers syntactic macro call to a token tree representation.

Extracts syntax node, corresponding to a macro call. That’s a firewall query, only typing in the macro call itself changes the returned subtree. Read more

Gets the expander for this macro. This compiles declarative macros, and just fetches procedural ones. Read more

Expand macro call to a token tree. This query is LRUed (we keep 128 or so results in memory)

Special case of the previous query for procedural macros. We can’t LRU proc macros, since they are not deterministic in general, and non-determinism breaks salsa in a very, very, very bad way. @edwin0cheng heroically debugged this once! Read more

Firewall query that returns the error from the macro_expand query.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Cast a value to type U using CastTo.

Set the value of the enable_proc_attr_macros input. Read more

Set the value of the enable_proc_attr_macros input and promise that its value will never change again. Read more

Computes the block-level DefMap, returning None when block doesn’t contain any inner items directly. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The crate graph.

Set the value of the crate_graph input. Read more

Set the value of the crate_graph input and promise that its value will never change again. Read more

Set the value of the file_text input. Read more

Set the value of the file_text input and promise that its value will never change again. Read more

Path to a file, relative to the root of its source root. Source root of the file. Read more

Set the value of the file_source_root input. Read more

Set the value of the file_source_root input and promise that its value will never change again. Read more

Contents of the source root.

Set the value of the source_root input. Read more

Set the value of the source_root input and promise that its value will never change again. Read more

The set of “local” (that is, from the current workspace) roots. Files in local roots are assumed to change frequently. Read more

Set the value of the local_roots input. Read more

Set the value of the local_roots input and promise that its value will never change again. Read more

The set of roots for crates.io libraries. Files in libraries are assumed to never change. Read more

Set the value of the library_roots input. Read more

Set the value of the library_roots input and promise that its value will never change again. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.