pub trait CppWorkspaceSource {
// Required methods
fn import_statements(&self, file: &ProjectFile) -> Vec<String>;
fn definitions_by_name(
&self,
token: QueryToken<'_>,
name: &FqName,
) -> Vec<CodeUnit>;
fn definitions_by_identifier(
&self,
token: QueryToken<'_>,
name: &FqName,
) -> Vec<CodeUnit>;
}Expand description
The workspace-wide questions a C++ scan asks of the dispatching analyzer rather than of the C++ analyzer.
import_statements is IAnalyzer’s raw #include lines. Definition reads
also stay the dispatching analyzer’s job: the language crate can issue the
core relational request but cannot own SQLite, and a mixed workspace must
coordinate its language-local snapshots through MultiAnalyzer.
Required Methods§
Sourcefn import_statements(&self, file: &ProjectFile) -> Vec<String>
fn import_statements(&self, file: &ProjectFile) -> Vec<String>
The raw import (#include) lines recorded for file.
Sourcefn definitions_by_name(
&self,
token: QueryToken<'_>,
name: &FqName,
) -> Vec<CodeUnit>
fn definitions_by_name( &self, token: QueryToken<'_>, name: &FqName, ) -> Vec<CodeUnit>
Exact lookup for a name already carried as extractor-owned segments. Results are owned because the relational store, not a generation-wide Rust map, owns the rows.
Sourcefn definitions_by_identifier(
&self,
token: QueryToken<'_>,
name: &FqName,
) -> Vec<CodeUnit>
fn definitions_by_identifier( &self, token: QueryToken<'_>, name: &FqName, ) -> Vec<CodeUnit>
Identifier-bounded candidates for a structurally segmented source path whose intermediate kinds are not known until resolution.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".