C++ calls now resolve through the include closure: header prototypes pair
with definitions in other translation units, lookup walks class (including
in-repository bases), namespace, and `using` scopes outward, and static or
anonymous-namespace definitions stay file-local. Member calls resolve only
through explicitly declared receiver types (parameters, locals, fields,
this, smart pointers, aliases); template parameters stay unknown. Calls
hidden by the most vexing parse are recovered, casts are no longer calls,
reference-returning and conversion-operator declarations are named
correctly, and benign `= {}` default-argument recoveries no longer drop
prototypes or flag files.
Rust method calls resolve through a crate-wide impl index for self, typed
parameters and lets, struct fields, Self-returning constructors, dyn
traits, and Type::/Self:: associated calls, with foreign imports and
generics never guessed. Calls inside expression macros are re-parsed.
Every unresolved call records source.unresolved-reason, weaker resolutions
record source.resolution/source.extraction, and metrics.resolution reports
per-language call-site coverage. Declarations gain facts consumed by
caller-status queries (qualified names, linkage, virtual, trait impls,
attributes, name references, parse-incomplete). C++/Rust External targets
include the reason in their identity; out-of-line C++ methods keep their
IDs.
Linear node/edge scans and per-node ancestor walks are replaced with
indexes, cutting a YAMS scan from 575 s to 23 s.
New labeled cpp_xtu and rust_methods corpora run three times in the
quality gate.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
51 lines
2.5 KiB
JSON
51 lines
2.5 KiB
JSON
{
|
|
"language_prefixes": {"rust": "src/"},
|
|
"symbols": [
|
|
["src/lib.rs::run", "function"],
|
|
["src/lib.rs::describe", "function"],
|
|
["src/store.rs::Engine", "class"],
|
|
["src/store.rs::Engine::commit", "function"],
|
|
["src/store.rs::Store", "class"],
|
|
["src/store.rs::Store::open", "function"],
|
|
["src/store.rs::Store::build", "function"],
|
|
["src/store.rs::Store::flush", "function"],
|
|
["src/store.rs::Store::name", "function"],
|
|
["src/store.rs::Store::is_ready", "function"],
|
|
["src/store.rs::Store::log", "function"],
|
|
["src/store.rs::Named", "class"],
|
|
["src/store.rs::Named::label", "function"],
|
|
["src/store.rs::Store::label", "function"],
|
|
["src/store.rs::Engine::label", "function"],
|
|
["src/store.rs::show", "function"],
|
|
["src/store.rs::show_generic", "function"],
|
|
["src/negative.rs::File", "class"],
|
|
["src/negative.rs::File::open", "function"],
|
|
["src/negative.rs::File::sync_all", "function"],
|
|
["src/negative.rs::unrelated", "function"]
|
|
],
|
|
"relationships": [
|
|
["src/lib.rs", "imports", "src/store.rs"],
|
|
["src/lib.rs", "imports", "external:rust:std::fs::File"],
|
|
["src/store.rs", "imports", "external:rust:std::sync::Arc"],
|
|
["src/lib.rs::run", "calls", "src/store.rs::Store::open"],
|
|
["src/lib.rs::run", "calls", "src/store.rs::Store::flush"],
|
|
["src/lib.rs::run", "calls", "src/store.rs::Store::is_ready"],
|
|
["src/lib.rs::run", "calls", "src/lib.rs::describe"],
|
|
["src/lib.rs::run", "calls", "external:rust:File::open"],
|
|
["src/lib.rs::run", "calls", "external:rust:sync_all"],
|
|
["src/lib.rs::run", "calls", "external:rust:Ok"],
|
|
["src/lib.rs::describe", "calls", "src/store.rs::Store::name"],
|
|
["src/store.rs::Store::open", "calls", "external:rust:Ok"],
|
|
["src/store.rs::Store::open", "calls", "src/store.rs::Store::build"],
|
|
["src/store.rs::Store::build", "calls", "external:rust:Arc::new"],
|
|
["src/store.rs::Store::build", "calls", "external:rust:into"],
|
|
["src/store.rs::Store::flush", "calls", "src/store.rs::Engine::commit"],
|
|
["src/store.rs::Store::flush", "calls", "src/store.rs::Store::log"],
|
|
["src/store.rs::Store::label", "calls", "src/store.rs::Store::name"],
|
|
["src/store.rs::Store::label", "calls", "external:rust:to_owned"],
|
|
["src/store.rs::Engine::label", "calls", "external:rust:String::new"],
|
|
["src/store.rs::show", "calls", "src/store.rs::Named::label"],
|
|
["src/store.rs::show_generic", "calls", "external:rust:label"],
|
|
["src/negative.rs::unrelated", "calls", "external:rust:len"]
|
|
]
|
|
}
|