Class Ssa::CapturedSelfDefinition
An SSA definition inserted at the beginning of a scope to represent a captured self variable.
For example, in
def m(x)
x.tap do |x|
foo(x)
end
end
an entry definition for self is inserted at the start of the do block.
Import path
import codeql.ruby.dataflow.SSADirect supertypes
Indirect supertypes
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 CapturedEntryDefinition |
| 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 |
| toString | Gets a textual representation of this SSA definition. | from CapturedEntryDefinition |