Repository navigation
fix(scanner): same-dir C/C++/PHP includes resolve, Elixir symbol-level, 20-language conformance test - #202
Open
JordanCoin wants to merge 1 commit into
Open
fix(scanner): same-dir C/C++/PHP includes resolve, Elixir symbol-level, 20-language conformance test#202JordanCoin wants to merge 1 commit into
JordanCoin wants to merge 1 commit into
Conversation
…red symbol-level; one conformance case per language normalizeImport turned every dotted, slash-free import into a path, so `#include "b.h"` and `require_once 'b.php'` became b/h and b/php and resolved to nothing. Only dots that do not introduce a known source extension are module separators now. Elixir aliases name modules, not files, so an empty Elixir graph was labelled complete. It joins the symbol-level set and reports partial with the same note as Java, Kotlin, Scala and C#. conformance_test.go builds the smallest two-file repository for each of the 20 detected languages and asserts the a->b edge and coverage status. A language added to extToLang without a case fails the suite. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NRaBgKRAZMX9hjbkkefA7T
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.
What a probe of all 20 detected languages found
Built the smallest two-file repo per language (a imports b the idiomatic way) and ran
BuildFileGraph. Before this PR:#include "b.h"normalized tob/hrequire_once 'b.php'normalized tob/phpalias App.Bnames a module, not a fileSubdirectory includes (
#include "inc/b.h") already worked because the slash short-circuits the dot rule, which is why real C repos got some edges and nobody filed it.Changes
normalizeImport: the Python dots-to-slashes rule skips imports whose last dot introduces a known source extension. Regression cases forb.handb.php.symbolLevelImportLanguagesgains Elixir; an Elixir-only graph now reportspartialwith the module-import note instead ofcomplete.scanner/conformance_test.go: one inline fixture per language inextToLang, asserting edge and coverage status.TestConformanceCoversEveryDetectedLanguagefails if an extension is added without a case.go build ./... && go test ./... && gofmt -l .clean.🤖 Generated with Claude Code
https://claude.ai/code/session_01NRaBgKRAZMX9hjbkkefA7T