-
Notifications
You must be signed in to change notification settings - Fork 14
fix(wasm): emit receiver edges for declaration-typed locals (cpp, cuda) #1497
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+147
−8
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
3892e7d
chore: gitignore napi-generated artifacts in crates/codegraph-core
carlos-alm ef8ea4f
chore(tests): remove unused biome suppression in visitor.test.ts
carlos-alm a372b82
fix(titan-run): sync --start-from enum and phase-timestamp list with …
carlos-alm 9a52c7c
fix(hooks): track Bash file modifications via before/after git status…
carlos-alm 85a26df
chore(native): remove dead code (unused var, method, variant, fields)
carlos-alm 184d221
refactor(native): extract emit_pts_alias_edges params into PtsAliasCt…
carlos-alm 909e1df
fix(wasm): sort call targets by confidence before emit to match nativ…
carlos-alm 66fc899
fix(bench): add 2 warmup runs and raise INCREMENTAL_RUNS to 5 for inc…
carlos-alm 84e1a5f
ci(bench): add per-PR perf canary for extractor/graph/native changes
carlos-alm d07b358
fix(perf): plumb symbolsOnly through parseFilesWasmInline to skip ana…
carlos-alm 3db5d8c
fix(perf): scope runPostNativeCha to changed files on incremental builds
carlos-alm 8b3aa3d
fix(native): add post-pass phase timings to result.phases
carlos-alm fd4ffd1
fix(perf): correct INLINE_BACKFILL_THRESHOLD docstring; raise thresho…
carlos-alm 498ee21
fix(perf): guard post-native passes against unnecessary work on 1-fil…
carlos-alm 61a9839
chore(types): remove dead protoMethodsMs field and stale comment
carlos-alm 5f5d4d2
fix: class-scope field annotation typeMap keys to prevent cross-class…
carlos-alm 29dd101
fix(bench): update elixir/julia/objc expected-edges to module-qualifi…
carlos-alm 9320ed2
fix(wasm): emit receiver edges for declaration-typed locals in C++/CUDA
carlos-alm 2986c81
fix(lint): remove unused TypeMapEntry imports; expand primitive-type …
carlos-alm d3d83ef
docs(cpp,cuda): document pointer/reference declarator scope in handle…
carlos-alm ba7f506
fix(lint): expand inline toEqual objects to multi-line format for Biome
carlos-alm 050d071
fix: resolve merge conflicts with main
carlos-alm 2304344
fix: remove duplicate PostPassTimings interfaces from auto-merge trip…
carlos-alm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The handler only seeds
typeMapfor directidentifierchildren andinit_declaratorchildren. ForUserService *svc;orUserService &svc = ...;, thedeclaratorfield of thedeclarationnode is apointer_declarator/reference_declarator, not a bareidentifier— so those variables never get atypeMapentry andsvc->method()calls won't generate receiver edges. This may intentionally mirror the Rustmatch_c_family_type_maplimitation; if so, a comment noting the gap would be helpful. The same applies insrc/extractors/cuda.ts.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed — added a clarifying comment in both
handleCppDeclarationandhandleCudaDeclaration(commit d3d83ef) documenting that this is intentional: the native Rustmatch_c_family_type_maphelper incrates/codegraph-core/src/extractors/helpers.rsalso only iteratesinit_declaratorandidentifierchildren of adeclarationnode —pointer_declarator/reference_declaratorchildren are skipped on both sides. Both engines have identical scope here, so this is not a parity gap.