Skip to content

Conversation

@aschackmull
Copy link
Contributor

Extracts the "View CFG" implementation from Cfg.qll to its own file and implements it for Java.

@aschackmull aschackmull requested a review from a team as a code owner February 4, 2026 13:42
Copilot AI review requested due to automatic review settings February 4, 2026 13:42
@aschackmull aschackmull requested a review from a team as a code owner February 4, 2026 13:42
@aschackmull aschackmull added the no-change-note-required This PR does not need a change note label Feb 4, 2026
@github-actions github-actions bot added the Java label Feb 4, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extracts the control flow graph (CFG) printing implementation from the language-agnostic Cfg.qll file into a dedicated PrintGraph.qll module and adds support for the "View CFG" query in VSCode for Java.

Changes:

  • Created a new shared PrintGraph.qll module with reusable logic for printing CFGs in tests, Mermaid diagrams, and VSCode
  • Refactored Cfg.qll to use the new PrintGraph module instead of inline implementations
  • Added Java-specific implementation in ControlFlowGraph.qll and created printCfg.ql query file

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
shared/controlflow/codeql/controlflow/PrintGraph.qll New shared module containing extracted logic for printing CFGs with support for test output, Mermaid diagrams, and VSCode's "View CFG" feature
shared/controlflow/codeql/controlflow/Cfg.qll Refactored to import and use the new PrintGraph module instead of inline implementations
java/ql/lib/semmle/code/java/ControlFlowGraph.qll Implements PrintGraphInput signature to enable CFG printing for Java
java/ql/lib/printCfg.ql New query file implementing "View CFG" for Java, following the pattern from C#, Ruby, Rust, and Swift

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Java no-change-note-required This PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant