Class Ssa::CapturedCallDefinition
An SSA definition inserted at a call that may update the value of a captured variable. For example, in
def m x
y = 0
x.times do |x|
y += x
end
return y
end
a definition for y is inserted at the call to times.
Import path
import codeql.ruby.dataflow.SSADirect supertypes
Indirect supertypes
Predicates
| getPriorDefinition | Gets the immediately preceding definition. Since this update is uncertain, the value from the preceding definition might still be valid. |
| toString | Gets a textual representation of this SSA definition. |
Inherited predicates
| definesAt | Holds if this SSA definition defines | from Definition |
| getAFirstRead | Gets a first control-flow node that reads the value of this SSA definition. That is, a read that can be reached from this definition without passing through other reads. | from Definition |
| getALastRead | Gets a last control-flow node that reads the value of this SSA definition. That is, a read that can reach the end of the enclosing CFG scope, or another SSA definition for the source variable, without passing through any other read. | from Definition |
| getARead | Gets a control-flow node that reads the value of this SSA definition. | from Definition |
| getAnUltimateDefinition | Gets a definition that ultimately defines this SSA definition and is not itself a phi node. | from Definition |
| getBasicBlock | Gets the basic block to which this SSA definition belongs. | from Definition |
| getControlFlowNode | Gets the control flow node of this SSA definition, if any. Phi nodes are examples of SSA definitions without a control flow node, as they are modeled at index | from Definition |
| getLocation | Gets the location of this SSA definition. | from Definition |
| getScope | Gets the scope of this SSA definition. | from Definition |
| getSourceVariable | Gets the source variable underlying this SSA definition. | from Definition |
| hasAdjacentReads | Holds if | from Definition |