mirror of
https://github.com/github/codeql.git
synced 2025-12-16 08:43:11 +01:00
Rust: extract crate graph
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -409,6 +409,7 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"argfile",
|
||||
"chalk-ir",
|
||||
"chrono",
|
||||
"clap",
|
||||
"codeql-extractor",
|
||||
@@ -422,6 +423,7 @@ dependencies = [
|
||||
"ra_ap_hir",
|
||||
"ra_ap_hir_def",
|
||||
"ra_ap_hir_expand",
|
||||
"ra_ap_hir_ty",
|
||||
"ra_ap_ide_db",
|
||||
"ra_ap_intern",
|
||||
"ra_ap_load-cargo",
|
||||
|
||||
@@ -14,6 +14,7 @@ ra_ap_base_db = "0.0.266"
|
||||
ra_ap_hir = "0.0.266"
|
||||
ra_ap_hir_def = "0.0.266"
|
||||
ra_ap_ide_db = "0.0.266"
|
||||
ra_ap_hir_ty = "0.0.266"
|
||||
ra_ap_hir_expand = "0.0.266"
|
||||
ra_ap_load-cargo = "0.0.266"
|
||||
ra_ap_paths = "0.0.266"
|
||||
@@ -39,3 +40,4 @@ toml = "0.8.20"
|
||||
tracing = "0.1.41"
|
||||
tracing-flame = "0.2.0"
|
||||
tracing-subscriber = "0.3.19"
|
||||
chalk-ir = "0.99.0"
|
||||
|
||||
1307
rust/extractor/src/crate_graph.rs
Normal file
1307
rust/extractor/src/crate_graph.rs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -22,6 +22,7 @@ use tracing_subscriber::util::SubscriberInitExt;
|
||||
|
||||
mod archive;
|
||||
mod config;
|
||||
mod crate_graph;
|
||||
mod diagnostics;
|
||||
pub mod generated;
|
||||
mod qltest;
|
||||
@@ -243,6 +244,7 @@ fn main() -> anyhow::Result<()> {
|
||||
if let Some((ref db, ref vfs)) =
|
||||
extractor.load_manifest(manifest, &cargo_config, &load_cargo_config)
|
||||
{
|
||||
crate_graph::extract_crate_graph(extractor.traps, db, vfs);
|
||||
let semantics = Semantics::new(db);
|
||||
for file in files {
|
||||
match extractor.load_source(file, &semantics, vfs) {
|
||||
|
||||
@@ -74,7 +74,7 @@ macro_rules! trap_key {
|
||||
$(
|
||||
key.push_str(&$x.as_key_part());
|
||||
)*
|
||||
$crate::TrapId::Key(key)
|
||||
trap::TrapId::Key(key)
|
||||
}};
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ impl<T: TrapClass> From<Label<T>> for trap::Arg {
|
||||
}
|
||||
|
||||
pub struct TrapFile {
|
||||
path: PathBuf,
|
||||
pub path: PathBuf,
|
||||
pub writer: Writer,
|
||||
compression: Compression,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user