Class Instruction::Instruction

An instruction.

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

canFlowNext

Holds if this instruction passes control flow into the next instruction.

getALocation

Gets a location of this element, which can include locations in both DLLs and source files.

getASuccessorType

Gets a successor instruction to this instruction.

getAccess

Gets the declaration accessed by this instruction, if any.

getExtra

Gets an extra field to display for this instruction, if any.

getHandler

Gets the ith handler that applies to this instruction. Indexed from 0.

getImplementation

Gets the method containing this instruction.

getIndex

Gets the index of this instruction. Instructions are sequenced from 0.

getLocation
getMethod

Gets the method that contains this dataflow node.

getOpcode

Gets the opcode of this instruction.

getOpcodeName

Gets the opcode name of this instruction, for example ldnull.

getType
toString

Inherited predicates

flowsTo

Holds if this node flows to sink in zero or more steps.

from DataFlowNode
fromSource

Holds if this element is from source code.

from Element
getALocalFlowSucc

Holds if this node flows to sink in one step. tt is the tainting that occurs during this step.

from DataFlowNode
getAPredecessor

Gets a predecessor of this node, if any.

from ControlFlowNode
getASuccessor

Gets a successor of this node, if any.

from ControlFlowNode
getAnOperand

Gets an operand of this instruction, if any.

from ControlFlowNode
getFalseSuccessor

Gets a false successor of this node, if any.

from ControlFlowNode
getFile

Gets the file containing this element.

from Element
getLanguage

Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”.

from Element
getOperand

Gets an instruction that supplies the ith operand to this instruction. Note that this can be multi-valued.

from ControlFlowNode
getParentExpr

Gets an expression that consumes the output of this instruction on the stack.

from ControlFlowNode
getPopCount

Gets the number of items this node pops from the stack.

from ControlFlowNode
getPushCount

Gets the number of items this node pushes onto the stack. This value is either 0 or 1, except for the instruction dup which pushes 2 values onto the stack.

from ControlFlowNode
getStackSizeAfter

Gets the stack size after this instruction.

from ControlFlowNode
getStackSizeBefore

Gets the stack size before this instruction.

from ControlFlowNode
getTrueSuccessor

Gets a true successor of this node, if any.

from ControlFlowNode
isJoin

Holds if this control flow node has more than one predecessor.

from ControlFlowNode
toStringWithTypes

Gets the full textual representation of this element, including type information.

from Element