agent-codinglanguage-mapper 1.1.2__tar.gz → 1.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_codinglanguage_mapper-1.1.2/src/agent_codinglanguage_mapper.egg-info → agent_codinglanguage_mapper-1.1.3}/PKG-INFO +1 -1
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/pyproject.toml +1 -1
- agent_codinglanguage_mapper-1.1.3/src/agent_codinglanguage_mapper/_version.py +1 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/indexer.py +57 -62
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3/src/agent_codinglanguage_mapper.egg-info}/PKG-INFO +1 -1
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_indexer.py +56 -137
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_package_contract.py +8 -12
- agent_codinglanguage_mapper-1.1.2/src/agent_codinglanguage_mapper/_version.py +0 -1
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/.github/workflows/ci.yml +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/LICENSE +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/MANIFEST.in +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/README.md +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/audit_language_matrix.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/benchmark_large_workspaces.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/build_github_performance_corpus.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/evaluate_external_corpora.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/generate_language_matrix.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/run_opencode_e2e.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/run_openrouter_e2e.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/setup.cfg +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/__init__.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/__main__.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/__init__.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/__init__.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/comment_builder.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/consts.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/grammar.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/lark_builder.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/lark_tokens.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/lsp_server.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/nodes.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/parser.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/preprocessor.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/project_discovery.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/project_indexer.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/semantic.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/semantic_builder.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/source_reader.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/workspace.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/tree_sitter.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/cli.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/discovery.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/formatting.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/guidelines.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/integration.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/lsp_server.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/lsp_service.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/mapper.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/models.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/protocol.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/rendering.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/templates/opencode/agents/agent-codinglanguage-mapper.md +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/templates/opencode/plugins/codebase_map.ts +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/templates/skill/SKILL.md +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/worker.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/workspace.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/SOURCES.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/dependency_links.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/entry_points.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/requires.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/top_level.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/corpora.lock.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/runtime.lock.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/cpp/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/cpp/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/cpp/workspace/src/cache.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/csharp/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/csharp/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/csharp/workspace/src/RateService.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/delphi/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/delphi/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/delphi/workspace/src/InventoryService.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/workspace/.editorconfig +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/workspace/src/sample.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/workspace/CMakeLists.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/workspace/native/metrics.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/workspace/python/metrics_bridge.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/python/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/python/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/python/workspace/src/billing.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/rust/golden.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/rust/prompt.txt +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/rust/workspace/src/lib.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/DeprecatedOnConst.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/VariantRecordFieldAttributes.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/alignedrecords.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/constset.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/deprecatedtype.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/dottedtypes.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/endtoken.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/experimentals.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/externalfunction.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/finalizationinitializationexports.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/forwardoverloaded.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/forwardwithoutsemicolon.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/genericconstraints.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/genericinterfacemethoddelegation.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/implementsgenerictype.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/include file2.inc +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/includefile.inc +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/includefile.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/managedrecords.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/messagemethod.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/multiline.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/nonalignedrecords.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/numbers.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/pointerchars.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/properties.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/strictvisibility.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/tryexcept.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/umlauts.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/whitespacearoundifdefcondition.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/library_demo.dpr +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/package_demo.dpk +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/program_demo.dpr +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_advanced.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_attributes.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_basic.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_consumer.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_generics.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_inheritance.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_math.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_properties.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_sections.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_statements.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_types.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_unresolved.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_with.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/Legacy.csx +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/Modern.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/legacy.hpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/legacy.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/legacy.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/modern.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/modern.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/modern.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-03.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-11.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-14.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-17.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-20.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-23.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-98.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-gnu-stable.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-msvc-stable.cpp +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-1.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-10.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-11.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-12.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-13.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-14.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-2.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-3.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-4.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-5.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-6.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-7.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-8.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-9.cs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-10-2006.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-11-2007.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-12-2009.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-13-2010.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-14-xe-2011.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-15-xe2-2012.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-16-xe3-2013.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-17-xe4-2013.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-18-xe5-2013.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-19-xe6-2014.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-20-xe7-2014.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-21-xe8-2015.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-22-10-seattle-2015.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-23-10-1-berlin-2016.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-24-10-2-tokyo-2017.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-25-10-3-rio-2018.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-26-10-4-sydney-2020.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-27-11-alexandria-2021.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-28-12-athens-2023.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-29-13-florence-2024.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-7-7.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-8-8.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-9-2005.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-directives.pas +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-2-7.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-0.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-1.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-10.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-11.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-12.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-13.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-14.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-2.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-3.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-4.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-5.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-6.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-7.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-8.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-9.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2015.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2018.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2021.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2024.rs +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/matrix.json +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_adapters.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_cli.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_delphi_adapter.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_discovery.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_ffi.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_github_performance_corpus.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_guideline_formatting.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_guidelines.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_integration_install.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_language_matrix.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_large_files.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_lsp_server.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_lsp_service.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_mapper_details.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_opencode_e2e_harness.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_openrouter_e2e_harness.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_performance_harness.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_protocol.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_rendering.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_worker.py +0 -0
- {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_workspace.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agent-codinglanguage-mapper"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.3"
|
|
8
8
|
description = "Agent-focused semantic mapping and language services for mixed-language codebases."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10,<3.15"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.1.3"
|
|
@@ -54,10 +54,7 @@ class WorkspaceIndexCache:
|
|
|
54
54
|
directories: tuple[tuple[str, int], ...] = ()
|
|
55
55
|
|
|
56
56
|
def sources_changed(self, root: Path) -> bool:
|
|
57
|
-
if any(
|
|
58
|
-
not _dependencies_unchanged(cached.dependency_stamps)
|
|
59
|
-
for cached in self.entries.values()
|
|
60
|
-
):
|
|
57
|
+
if any(not _dependencies_unchanged(cached.dependency_stamps) for cached in self.entries.values()):
|
|
61
58
|
return True
|
|
62
59
|
for relative, cached in self.entries.items():
|
|
63
60
|
path = root / relative
|
|
@@ -83,6 +80,39 @@ class WorkspaceIndexCache:
|
|
|
83
80
|
return new_inventory != self.inventory
|
|
84
81
|
|
|
85
82
|
|
|
83
|
+
def _deduplicate_parser_symbols(items: tuple[Symbol, ...]) -> tuple[Symbol, ...]:
|
|
84
|
+
"""Collapse C/C++ typedef aliases emitted for the same concrete declaration."""
|
|
85
|
+
|
|
86
|
+
def declaration_key(item: Symbol) -> tuple[str, str, int, int]:
|
|
87
|
+
anchor = item.name_range or item.range
|
|
88
|
+
return (
|
|
89
|
+
item.qualified_name,
|
|
90
|
+
anchor.path,
|
|
91
|
+
anchor.start_line,
|
|
92
|
+
anchor.start_character,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
groups: dict[tuple[str, str, int, int], list[Symbol]] = defaultdict(list)
|
|
96
|
+
for item in items:
|
|
97
|
+
groups[declaration_key(item)].append(item)
|
|
98
|
+
emitted: set[tuple[str, str, int, int]] = set()
|
|
99
|
+
selected: list[Symbol] = []
|
|
100
|
+
concrete_kinds = {"class", "enum", "struct", "union"}
|
|
101
|
+
for item in items:
|
|
102
|
+
key = declaration_key(item)
|
|
103
|
+
if key in emitted:
|
|
104
|
+
continue
|
|
105
|
+
emitted.add(key)
|
|
106
|
+
group = groups[key]
|
|
107
|
+
concrete = [candidate for candidate in group if candidate.kind in concrete_kinds]
|
|
108
|
+
aliases = [candidate for candidate in group if candidate.kind == "type_alias"]
|
|
109
|
+
if len(concrete) == 1 and aliases:
|
|
110
|
+
selected.append(concrete[0])
|
|
111
|
+
else:
|
|
112
|
+
selected.extend(group)
|
|
113
|
+
return tuple(selected)
|
|
114
|
+
|
|
115
|
+
|
|
86
116
|
def build_workspace_snapshot(
|
|
87
117
|
root: str | Path,
|
|
88
118
|
languages: Iterable[Language] | None = None,
|
|
@@ -108,9 +138,7 @@ def build_workspace_snapshot(
|
|
|
108
138
|
selected_detail_files = None if detail_files is None else {Path(item).as_posix() for item in detail_files}
|
|
109
139
|
incremental_detail = base_snapshot is not None and selected_detail_files is not None
|
|
110
140
|
base_files_by_path = (
|
|
111
|
-
{item.path: item for item in base_snapshot.files}
|
|
112
|
-
if incremental_detail and base_snapshot is not None
|
|
113
|
-
else {}
|
|
141
|
+
{item.path: item for item in base_snapshot.files} if incremental_detail and base_snapshot is not None else {}
|
|
114
142
|
)
|
|
115
143
|
base_references_by_path: dict[str, list[Reference]] = defaultdict(list)
|
|
116
144
|
base_relations_by_path: dict[str, list[Relation]] = defaultdict(list)
|
|
@@ -137,9 +165,8 @@ def build_workspace_snapshot(
|
|
|
137
165
|
for found in discovery.files:
|
|
138
166
|
relative = found.path.relative_to(workspace).as_posix()
|
|
139
167
|
include_detail = (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
)
|
|
168
|
+
selected_detail_files is None or relative in selected_detail_files
|
|
169
|
+
) and found.path.suffix.casefold() != ".inc"
|
|
143
170
|
file_id = stable_id("file", found.project_id, relative)
|
|
144
171
|
project = projects_by_id[found.project_id]
|
|
145
172
|
delphi_config: DelphiProjectDiscovery | None = None
|
|
@@ -271,11 +298,7 @@ def build_workspace_snapshot(
|
|
|
271
298
|
else:
|
|
272
299
|
adapter = pooled_adapter
|
|
273
300
|
outline = adapter.parse_outline(relative, source)
|
|
274
|
-
result = (
|
|
275
|
-
adapter.resolve(adapter.parse_detail(relative, source, outline))
|
|
276
|
-
if include_detail
|
|
277
|
-
else outline
|
|
278
|
-
)
|
|
301
|
+
result = adapter.resolve(adapter.parse_detail(relative, source, outline)) if include_detail else outline
|
|
279
302
|
if index_cache is not None:
|
|
280
303
|
index_cache.entries[relative] = _CachedParse(
|
|
281
304
|
found.project_id,
|
|
@@ -292,8 +315,9 @@ def build_workspace_snapshot(
|
|
|
292
315
|
)
|
|
293
316
|
active_cache_paths.add(relative)
|
|
294
317
|
source_digests.append((relative, source_digest))
|
|
318
|
+
parsed_symbols = _deduplicate_parser_symbols(result.symbols)
|
|
295
319
|
normalized_symbols_list: list[Symbol] = []
|
|
296
|
-
for parsed_symbol in
|
|
320
|
+
for parsed_symbol in parsed_symbols:
|
|
297
321
|
normalized_range = _workspace_required_range(
|
|
298
322
|
workspace,
|
|
299
323
|
parsed_symbol.range,
|
|
@@ -304,10 +328,7 @@ def build_workspace_snapshot(
|
|
|
304
328
|
parsed_symbol.name_range,
|
|
305
329
|
workspace_path_cache,
|
|
306
330
|
)
|
|
307
|
-
if
|
|
308
|
-
normalized_range is parsed_symbol.range
|
|
309
|
-
and normalized_name_range is parsed_symbol.name_range
|
|
310
|
-
):
|
|
331
|
+
if normalized_range is parsed_symbol.range and normalized_name_range is parsed_symbol.name_range:
|
|
311
332
|
normalized_symbols_list.append(parsed_symbol)
|
|
312
333
|
else:
|
|
313
334
|
normalized_symbols_list.append(
|
|
@@ -320,7 +341,7 @@ def build_workspace_snapshot(
|
|
|
320
341
|
normalized_symbols = tuple(normalized_symbols_list)
|
|
321
342
|
ids = {
|
|
322
343
|
parsed_symbol.target_id: _workspace_symbol_id(found.project_id, file_id, normalized)
|
|
323
|
-
for parsed_symbol, normalized in zip(
|
|
344
|
+
for parsed_symbol, normalized in zip(parsed_symbols, normalized_symbols)
|
|
324
345
|
}
|
|
325
346
|
symbols.extend(
|
|
326
347
|
Symbol(
|
|
@@ -338,7 +359,7 @@ def build_workspace_snapshot(
|
|
|
338
359
|
normalized.name_range,
|
|
339
360
|
parsed_symbol.role,
|
|
340
361
|
)
|
|
341
|
-
for parsed_symbol, normalized in zip(
|
|
362
|
+
for parsed_symbol, normalized in zip(parsed_symbols, normalized_symbols)
|
|
342
363
|
)
|
|
343
364
|
for reference in result.references:
|
|
344
365
|
source_id = ids.get(reference.source_id, "")
|
|
@@ -363,7 +384,7 @@ def build_workspace_snapshot(
|
|
|
363
384
|
range=normalized_range,
|
|
364
385
|
)
|
|
365
386
|
)
|
|
366
|
-
local_symbols_by_id = {parsed_symbol.target_id: parsed_symbol for parsed_symbol in
|
|
387
|
+
local_symbols_by_id = {parsed_symbol.target_id: parsed_symbol for parsed_symbol in parsed_symbols}
|
|
367
388
|
for relation in result.relations:
|
|
368
389
|
relation_library = relation.target_library
|
|
369
390
|
relation_source = local_symbols_by_id.get(relation.source_id)
|
|
@@ -382,14 +403,12 @@ def build_workspace_snapshot(
|
|
|
382
403
|
target_id=ids.get(relation.target_id, ""),
|
|
383
404
|
target_library=relation_library,
|
|
384
405
|
evidence=tuple(
|
|
385
|
-
_workspace_required_range(workspace, value, workspace_path_cache)
|
|
386
|
-
for value in relation.evidence
|
|
406
|
+
_workspace_required_range(workspace, value, workspace_path_cache) for value in relation.evidence
|
|
387
407
|
),
|
|
388
408
|
)
|
|
389
409
|
)
|
|
390
410
|
problems.extend(
|
|
391
|
-
_workspace_problem(workspace, problem, relative, workspace_path_cache)
|
|
392
|
-
for problem in result.problems
|
|
411
|
+
_workspace_problem(workspace, problem, relative, workspace_path_cache) for problem in result.problems
|
|
393
412
|
)
|
|
394
413
|
|
|
395
414
|
inventory = workspace_inventory(workspace, scan=scan)
|
|
@@ -415,11 +434,7 @@ def build_workspace_snapshot(
|
|
|
415
434
|
relations=resolved_relations,
|
|
416
435
|
problems=tuple(problems),
|
|
417
436
|
source_digests=tuple(source_digests),
|
|
418
|
-
metadata_digests=tuple(
|
|
419
|
-
(relative, digest)
|
|
420
|
-
for relative, _modified, _size, digest in inventory
|
|
421
|
-
if digest
|
|
422
|
-
),
|
|
437
|
+
metadata_digests=tuple((relative, digest) for relative, _modified, _size, digest in inventory if digest),
|
|
423
438
|
)
|
|
424
439
|
|
|
425
440
|
|
|
@@ -554,24 +569,16 @@ def _discard_shadowed_fragment_results(
|
|
|
554
569
|
and owner_path == anchor.path
|
|
555
570
|
and (
|
|
556
571
|
source_key(symbol) in contextual_keys
|
|
557
|
-
or (
|
|
558
|
-
symbol.language is Language.DELPHI
|
|
559
|
-
and symbol.kind == "unit"
|
|
560
|
-
and symbol.name_range is None
|
|
561
|
-
)
|
|
572
|
+
or (symbol.language is Language.DELPHI and symbol.kind == "unit" and symbol.name_range is None)
|
|
562
573
|
)
|
|
563
574
|
):
|
|
564
575
|
discarded_ids.add(symbol.target_id)
|
|
565
576
|
kept_symbols = [item for item in symbols if item.target_id not in discarded_ids]
|
|
566
577
|
kept_references = [
|
|
567
|
-
item
|
|
568
|
-
for item in references
|
|
569
|
-
if item.source_id not in discarded_ids and item.target_id not in discarded_ids
|
|
578
|
+
item for item in references if item.source_id not in discarded_ids and item.target_id not in discarded_ids
|
|
570
579
|
]
|
|
571
580
|
kept_relations = [
|
|
572
|
-
item
|
|
573
|
-
for item in relations
|
|
574
|
-
if item.source_id not in discarded_ids and item.target_id not in discarded_ids
|
|
581
|
+
item for item in relations if item.source_id not in discarded_ids and item.target_id not in discarded_ids
|
|
575
582
|
]
|
|
576
583
|
return kept_symbols, kept_references, kept_relations
|
|
577
584
|
|
|
@@ -768,21 +775,15 @@ def _resolve_workspace(
|
|
|
768
775
|
and _is_abi_export_symbol(source)
|
|
769
776
|
and all(
|
|
770
777
|
item.target_id != source.target_id
|
|
771
|
-
for item in abi_exports[
|
|
772
|
-
(_normalize_library(relation.target_library), relation.target_name)
|
|
773
|
-
]
|
|
778
|
+
for item in abi_exports[(_normalize_library(relation.target_library), relation.target_name)]
|
|
774
779
|
)
|
|
775
780
|
):
|
|
776
781
|
library = _normalize_library(relation.target_library)
|
|
777
782
|
if library:
|
|
778
783
|
abi_exports[(library, relation.target_name)].append(source)
|
|
779
784
|
|
|
780
|
-
resolved_references = tuple(
|
|
781
|
-
|
|
782
|
-
)
|
|
783
|
-
resolved_relations = tuple(
|
|
784
|
-
_resolve_relation(item, by_name, abi_exports, by_id, visibility) for item in relations
|
|
785
|
-
)
|
|
785
|
+
resolved_references = tuple(_resolve_reference(item, by_name, by_id, visibility) for item in references)
|
|
786
|
+
resolved_relations = tuple(_resolve_relation(item, by_name, abi_exports, by_id, visibility) for item in relations)
|
|
786
787
|
return resolved_references, resolved_relations
|
|
787
788
|
|
|
788
789
|
|
|
@@ -924,11 +925,7 @@ def _workspace_visibility(
|
|
|
924
925
|
visibility: list[_ImportRule] = []
|
|
925
926
|
for reference in references:
|
|
926
927
|
owner = by_id.get(reference.source_id)
|
|
927
|
-
if
|
|
928
|
-
owner is None
|
|
929
|
-
or reference.reference_kind != "import"
|
|
930
|
-
or owner.kind not in {"module", "namespace", "unit"}
|
|
931
|
-
):
|
|
928
|
+
if owner is None or reference.reference_kind != "import" or owner.kind not in {"module", "namespace", "unit"}:
|
|
932
929
|
continue
|
|
933
930
|
visibility.append(
|
|
934
931
|
_ImportRule(
|
|
@@ -1009,7 +1006,7 @@ def _csharp_namespace(symbol: Symbol, by_id: dict[str, Symbol]) -> str:
|
|
|
1009
1006
|
if current.kind == "namespace":
|
|
1010
1007
|
qualified = current.qualified_name
|
|
1011
1008
|
module_prefix = f"{PurePosixPath(current.range.path).stem}."
|
|
1012
|
-
return qualified[len(module_prefix):] if qualified.startswith(module_prefix) else qualified
|
|
1009
|
+
return qualified[len(module_prefix) :] if qualified.startswith(module_prefix) else qualified
|
|
1013
1010
|
current = by_id.get(current.parent_id)
|
|
1014
1011
|
return ""
|
|
1015
1012
|
|
|
@@ -1053,7 +1050,7 @@ def _rule_exposes_candidate(
|
|
|
1053
1050
|
qualifier_parts = normalized_qualifier.split(".")
|
|
1054
1051
|
alias_parts = normalized_alias.split(".")
|
|
1055
1052
|
if qualifier_parts[: len(alias_parts)] == alias_parts and module_matches:
|
|
1056
|
-
remainder = ".".join(qualifier_parts[len(alias_parts):])
|
|
1053
|
+
remainder = ".".join(qualifier_parts[len(alias_parts) :])
|
|
1057
1054
|
return not remainder or _candidate_parent_scope(candidate, by_id).endswith(remainder)
|
|
1058
1055
|
|
|
1059
1056
|
if not rule.wildcard or not module_matches:
|
|
@@ -1065,9 +1062,7 @@ def _rule_exposes_candidate(
|
|
|
1065
1062
|
|
|
1066
1063
|
candidate_parent = _candidate_parent_scope(candidate, by_id)
|
|
1067
1064
|
if normalized_qualifier:
|
|
1068
|
-
expected_parent = ".".join(
|
|
1069
|
-
part for part in (rule.import_path, normalized_qualifier) if part
|
|
1070
|
-
)
|
|
1065
|
+
expected_parent = ".".join(part for part in (rule.import_path, normalized_qualifier) if part)
|
|
1071
1066
|
return candidate_parent == expected_parent
|
|
1072
1067
|
if rule.module_alias:
|
|
1073
1068
|
return candidate_parent == rule.import_path
|