Commit 39b7e80
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- extensions/vscode
- server
- dist
- ql
- actions/tools/src/PrintCFG
- cpp/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- csharp/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- go/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- ext
- javascript/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- java/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintCFG
- ext
- python/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- ruby/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- swift/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- src
- lib
- resources/languages
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| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
0 commit comments