Skip to content

Commit 39b7e80

Browse files
data-douserCopilot
andauthored
Add CallGraphFromTo queries for all supported languages (#168)
* Add CallGraphFromTo queries for all supported languages - Add CallGraphFromTo.ql for cpp, csharp, go, java, javascript, python, ruby, swift - Each query supports sourceFunction and targetFunction external predicates - Include documentation (.md) and test suites with expected outputs - Update QL pack dependencies to latest versions - Fix go PrintAST query for compatibility with v2.25.0 - Fix java PrintCFG query for compatibility with v2.25.0 Closes #164 * Fixes for failing PR checks - Syncs "server/dist/**" - Applies "codeql query format" rules for all server/ql/**/*.ql files - Fixes formatting of markdown text in query markdown docs - Addresses other PR review feedback for #168 * Fix Go call graph query tests and VSIX packaging Go query test fixes: - Add go.mod to CallGraphFromTo, CallGraphFrom, CallGraphTo test dirs (Go extractor requires module file for proper extraction) - Add main() function to all Go Example1.go test files - Fix fallback filter in all 3 Go call graph queries: getParentContainer().getParentContainer().getBaseName() = "test" → getFile().getBaseName() = "Example1.go" - Update all Go .expected files with non-empty results (4-5 rows each) VSIX packaging fix: - Add .tmp/** to .vscodeignore (was bundling 177MB of test databases) - VSIX size: 71.48MB → 788KB * Migrate external to extensible predicates w/ dataExtensions Replace `external string` declarations with `extensible predicate` syntax across all 8 languages, enabling YAML-based data extensions for testing instead of fragile fallback hacks. Architecture: - Add ExternalPredicates.qll per language with shared extensible predicate declarations (sourceFunction, targetFunction, selectedSourceFiles) - Add dataExtensions YAML files in test/*/ext/ directories providing test values for each query's external predicates - Add dataExtensions glob to all test pack codeql-pack.yml files - Remove all "Fallback for unit tests" or clauses from queries This means: - Tests now exercise the actual external predicate logic path - No more path-based hacks (getParentContainer().getBaseName() = "test") - CallGraphFromTo tests produce precise source→target results - New queries only need a .model.yml file, not query modifications * Address PR review feedback * Fix for client integration tests on Windows * More Windows OS compatibility fixes * Fix: use 'extensible predicates' wording and codeql-pack.yml comments per review feedback Agent-Logs-Url: https://github.com/advanced-security/codeql-development-mcp-server/sessions/e21331aa-0d89-452b-8800-25ac99ac45ef Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com> * Fix: use exact @0.0.0 version in --model-packs; filter empty entries from comma-split inputs Agent-Logs-Url: https://github.com/advanced-security/codeql-development-mcp-server/sessions/e224fd03-1314-4a18-a417-656beca0e3f3 Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com> * Sync package-lock.json && server/dist/** * Re-add server/dist/** --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent 94ff831 commit 39b7e80

File tree

176 files changed

+14025
-14792
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+14025
-14792
lines changed

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ extensions/vscode/test/fixtures/
1717
node_modules
1818
query-results*
1919
server/dist/
20+
server/ql/*/tools/test/*
2021
workshops/
2122

extensions/vscode/.vscodeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ esbuild.config.js
1616
coverage/**
1717

1818
# Build artifacts that shouldn't be in the VSIX
19+
.tmp/**
1920
**/*.test.ts
2021
**/*.test.js
2122
**/*.test.cjs

0 commit comments

Comments
 (0)