Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Feature: full java support#2

Open
11philip22 wants to merge 3 commits into
agentralabs:main from
11philip22:feature/full-java-support
Open

Feature: full java support #2
11philip22 wants to merge 3 commits into
agentralabs:main from
11philip22:feature/full-java-support

Conversation

@11philip22

@11philip22 11philip22 commented Mar 14, 2026

Copy link
Copy Markdown

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

- 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

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /