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.SSA
Direct 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 |