CodeQL library for Java/Kotlin
codeql/java-all 7.1.2-dev (changelog, source)
Search

Class Make::DataFlowIntegration::SsaInputNode

A node that represents an input to an SSA phi (read) definition.

This allows for barrier guards to filter input to phi nodes. For example, in

x = taint
if x != "safe" then
    x = "safe"
end
sink x

the false edge out of x != "safe" guards the input from x = taint into the phi node after the condition.

It is also relevant to filter input into phi read nodes:

x = taint
if b then
    if x != "safe1" then
        return
    end
else
    if x != "safe2" then
        return
    end
end

sink x

both inputs into the phi read node after the outer condition are guarded.

Import path

import codeql.ssa.Ssa

Direct supertypes

Indirect supertypes

Predicates

getBasicBlock

Gets the basic block to which this node belongs.

getDefinitionExt

Gets the underlying SSA definition.

getIndex

INTERNAL: Do not use.

getLocation

Gets the location of this node.

getPhi
getSourceVariable

Gets the underlying source variable that this node tracks flow for.

isInputInto

Holds if this node represents input into SSA definition def via basic block input.

toString

Gets a textual representation of this node.

Inherited predicates

asDefinition

Gets the SSA definition this node corresponds to, if any.

from SsaNodeImpl

Charpred