Skip to content

Feature: full java support#2

Open
11philip22 wants to merge 3 commits intoagentralabs:mainfrom
11philip22:feature/full-java-support
Open

Feature: full java support#2
11philip22 wants to merge 3 commits intoagentralabs:mainfrom
11philip22:feature/full-java-support

Conversation

@11philip22
Copy link

What

Adds full Java/JADX support end-to-end and hardens large-project compilation.

  • Upgraded Java extraction from declaration-only to reference-rich graphing:
    • package-aware qualified names
    • overload-safe callable identities
    • imports/calls/inheritance/interface/type-use/access references
    • synthetic lambda/anonymous class units
  • Reworked Java AST traversal to an iterative, heap-backed walker (stack-safe on deep/large JADX trees).
  • Improved Java import resolution behavior (dotted paths + wildcard handling), while keeping unresolved SDK/lib symbols unresolved (no fake external nodes).
  • Updated CLI/help language to reflect Java support.

Why the search/resolution algorithm is different

Java (especially JADX output) has much higher symbol ambiguity and scale than C++/Rust/Python in this workload:

  • same short names across many packages,
  • heavy overloads,
  • wildcard/static imports,
  • very large decompiled files/trees.

Because of this, Java resolution now uses a more package/import-aware lookup path and overload-safe identities instead of simple name-only matching.
This improves correctness (fewer false matches/collisions) and keeps traversal/resolution stable on very large Android decompilations.

Type

  • Bug fix
  • New feature
  • MCP tool
  • Documentation

Testing

  • Tests added/updated
  • All tests pass
  • Lints pass

… resolver updates, and stress-tested parsing
- index imports per file in resolver to avoid per-ref global scans
- replace quadratic pattern matching with method indexes
- optimize concept extraction string normalization
- add analyze_with_progress and wire compile progress updates in CLI
@11philip22 11philip22 changed the title Feature/full java support Feature: full java support Mar 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant