Skip to content

Improve link feature to provide links for all decompilers#178

Merged
nbauma109 merged 8 commits intomasterfrom
links
Mar 8, 2026
Merged

Improve link feature to provide links for all decompilers#178
nbauma109 merged 8 commits intomasterfrom
links

Conversation

@nbauma109
Copy link
Copy Markdown
Owner

No description provided.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 8, 2026

Codecov Report

❌ Patch coverage is 87.34177% with 100 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.55%. Comparing base (2333e70) to head (968188c).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...er/transformerapi/common/BytecodeSourceLinker.java 87.91% 10 Missing and 62 partials ⚠️
...ransformerapi/decompilers/jadx/JADXDecompiler.java 76.31% 9 Missing and 9 partials ⚠️
...erapi/decompilers/procyon/ProcyonLinkProvider.java 91.30% 4 Missing and 2 partials ⚠️
...heliosdecompiler/transformerapi/common/Loader.java 0.00% 1 Missing ⚠️
...piler/transformerapi/common/ResultLinkSupport.java 95.45% 0 Missing and 1 partial ⚠️
...ompiler/transformerapi/decompilers/Decompiler.java 50.00% 0 Missing and 1 partial ⚠️
...api/decompilers/procyon/ProcyonFastTypeLoader.java 50.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master     #178      +/-   ##
============================================
+ Coverage     82.43%   85.55%   +3.12%     
- Complexity      180      399     +219     
============================================
  Files            30       32       +2     
  Lines           723     1433     +710     
  Branches         85      274     +189     
============================================
+ Hits            596     1226     +630     
- Misses           90       98       +8     
- Partials         37      109      +72     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nbauma109
Copy link
Copy Markdown
Owner Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7496ea25d3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +659 to +663
if ("(".equals(text)) {
depth++;
} else if (")".equals(text) && depth > 0) {
depth--;
} else if (",".equals(text) && depth == 0) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Count only top-level commas in call argument lists

countCallArguments only tracks nested ( / ) depth, so commas inside other nested constructs (for example new int[]{1, 2} or generic calls like map.<String, Integer>of()) are incorrectly counted as additional call arguments. In those cases the computed arity is too high, which makes resolveMethod pick the wrong overload or fail to create a link at all for valid method calls. The argument counter should ignore commas while inside at least angle-bracket, brace, and bracket nesting.

Useful? React with 👍 / 👎.

Comment on lines +1092 to +1094
private static boolean isEscaped(char[] chars, int index) {
return index > 0 && chars[index - 1] == '\\';
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Detect escaped quotes using odd backslash counts

isEscaped treats any quote preceded by a backslash as escaped, but Java escaping depends on whether the run of consecutive backslashes is odd. A literal ending with an even backslash run before the closing quote (for example a string ending in \\) is therefore misparsed as still-open, causing maskNonCode to remain in string/char mode and blank out subsequent code; this can suppress declarations and references for the rest of the file. The escape check should count consecutive backslashes and only treat odd counts as escaped.

Useful? React with 👍 / 👎.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Mar 8, 2026

@nbauma109 nbauma109 merged commit e1cec6d into master Mar 8, 2026
7 checks passed
@nbauma109 nbauma109 deleted the links branch March 8, 2026 20:46
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