CodeQL library for Swift
codeql/swift-all 2.0.4-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

getDefinitionExt

Gets the underlying SSA definition.

getLocation

Gets the location of this node.

isInputInto

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

toString

Gets a textual representation of this node.

Charpred