* feat(java): resolve SpringContextUtil.getBeans(X.class) dynamic lookups
* fix(ingestion): make Spring dynamic lookups graph-correct
Capture Java and Kotlin lookups from ASTs and resolve them through scoped type bindings and transitive JVM assignability so emitted INJECTS edges are attributable, cache-safe, and production-tested.
Co-authored-by: Cursor <cursoragent@cursor.com>
* perf(ingestion): keep Spring lookup capture linear
Reuse Java and Kotlin scope-query call nodes instead of rewalking each AST, cache DI subtype closures, and enforce linear scaling with production-path benchmarks in CI.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
Co-authored-by: Gergo Magyar <gergomagyar0@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>