Repository navigation
fix(parsers): final #1538 audit batch — spurious records, PHP enums, C macros/enum members - #1659
Merged
Merged
Conversation
…sing declarations - php: PHP 8.1 enums indexed as class-likes (node_type 'enum') and recognized as owners, so enum methods stop being orphans - c: function-like macros extracted (the param code existed but was unreachable — the query only matched preproc_def); macro end_line off-by-one fixed; enum members attributed to their OWN enum in one structural pass (the old per-enum loop with a global seen-set let the first enum claim every member, and the `*` quantifier matched only the first enumerator). Fixture recovers +14 macros. - elixir: definition heads are no longer recorded as self-recursive calls; inline `, do:` bodies still walked - ruby: nested calls no longer steal each other's receiver/args (field check, matching the name branch) - csharp: same-line repeat calls kept (dedupe per call site, not per name_line); attributes actually extracted (attribute_list is a CHILD of the declaration, the old parent check was always false); line_number points at the declaration, not the attribute line - haskell: curried application deduped by callee node — one call record per call site, while genuinely distinct same-name calls on a line survive One regression test per finding. Unit suite 1406 passed / 7 skipped; all 21 goldens green (c/csharp regenerated).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Hi! 👋 Join our CodeGraphContext Discord channel to collaborate: https://discord.gg/dR4QY32uYQ |
This was referenced Aug 19, 2026
Contributor
🔍 PR Code Graph Analysisfix(parsers): final #1538 audit batch — spurious records, PHP enums, C macros/enum members (#1659) 📊 Interactive VisualizationView the blast radius graph: PR Reviewer Dashboard 📦 ArtifactsThe graph JSON has been uploaded as a build artifact: Generated by CodeGraphContext using FalkorDB Lite |
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fourth and final substantive batch from the #1538 audit (#1628 C++, #1654 wrong-values, #1657 context attribution). One regression test per finding; unit suite 1406 passed / 7 skipped; all 21 goldens green (c/csharp regenerated — C recovers +14 function-like macros).
enums indexed as class-likes and recognized as method owners — enum methods stop being orphansend_lineoff-by-one fixed, and enum members attributed to their own enum in one structural pass (previously the first enum claimed every member and only the first enumerator matched), do:bodies still walkedlogger.info(formatter.render(x))no longer recordsformatter.info)line_numberpoints at the declaration per the established conventionapplyTogether with the previous batches this addresses every section of #1538 except the 'Minor' list, which is being split into a follow-up issue.