Skip to content

Conversation

@aschackmull
Copy link
Contributor

Followup for #20761

@github-actions github-actions bot added the Java label Nov 7, 2025

import java
private import internal.SsaImpl
import internal.SsaImpl::Ssa as Ssa

Check warning

Code scanning / CodeQL

Names only differing by case Warning

Ssa is only different by casing from SSA that is used elsewhere for modules.
private predicate upcastEnhancedForStmtAux(BaseSsaUpdate v, RefType t, RefType t1, RefType t2) {
private predicate upcastEnhancedForStmtAux(
Base::SsaExplicitWrite v, RefType t, RefType t1, RefType t2
) {

Check warning

Code scanning / CodeQL

Candidate predicate not marked as `nomagic` Warning

Candidate predicate to
upcastEnhancedForStmt
is not marked as nomagic.
i = 0
)
}
module Ssa = Impl::MakeSsa<SsaInput>;

Check warning

Code scanning / CodeQL

Names only differing by case Warning

Ssa is only different by casing from SSA that is used elsewhere for modules.
c.getBody().getBasicBlock() = bb and
i = -1
)
}

Check warning

Code scanning / CodeQL

Names only differing by case Warning

Ssa is only different by casing from SSA that is used elsewhere for modules.
@aschackmull aschackmull marked this pull request as ready for review November 21, 2025 10:11
@aschackmull aschackmull requested a review from a team as a code owner November 21, 2025 10:11
Copilot AI review requested due to automatic review settings November 21, 2025 10:11
@aschackmull aschackmull added the no-change-note-required This PR does not need a change note label Nov 21, 2025
Copilot finished reviewing on behalf of aschackmull November 21, 2025 10:13
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 adds deprecation annotations to SSA-related predicates and classes in the Java dataflow library as a followup to PR #20761. The changes mark various SSA predicates, classes, and methods as deprecated to guide users toward newer alternatives.

Key changes:

  • Deprecated several helper predicates in SsaImpl.qll for SSA operations
  • Deprecated legacy SSA classes in SSA.qll including SsaVariable, SsaUpdate, SsaExplicitUpdate, and SsaImplicitInit
  • Deprecated member predicates and methods within those classes

Reviewed Changes

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

File Description
java/ql/lib/semmle/code/java/dataflow/internal/SsaImpl.qll Added deprecation annotations to predicates ssaExplicitUpdate, ssaImplicitInit, getAUse, and ssaDefReachesEndOfBlock
java/ql/lib/semmle/code/java/dataflow/SSA.qll Added deprecation annotations to classes SsaVariable, SsaUpdate, SsaExplicitUpdate, and SsaImplicitInit, as well as their member predicates getCfgNode, getAUse, and isParameterDefinition

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@aschackmull aschackmull merged commit 8d72040 into github:main Nov 21, 2025
25 of 26 checks passed
@aschackmull aschackmull deleted the java/ssa-deprecate branch November 21, 2025 11:30
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.

2 participants