Files
codeql/java/ql/lib/change-notes/2026-02-18-cfg.md
Anders Schack-Mulligen 0d0711f2a7 Java: Add change note.
2026-02-23 15:10:02 +01:00

897 B

category
category
breaking
  • The Java control flow graph (CFG) implementation has been completely rewritten. The CFG now includes additional nodes to more accurately represent certain constructs. This also means that any existing code that implicitly relies on very specific details about the CFG may need to be updated. The CFG now only includes the nodes that are reachable from the entry point. Additionally, the following breaking changes have been made:
    • ControlFlowNode.asCall has been removed - use Call.getControlFlowNode instead.
    • ControlFlowNode.getEnclosingStmt has been removed.
    • ControlFlow::ExprNode has been removed.
    • ControlFlow::StmtNode has been removed.
    • ControlFlow::Node has been removed - this was merely an alias of ControlFlowNode, which is still available.
    • Previously deprecated predicates on BasicBlock have been removed.