CodeQL library for C#
codeql/csharp-all 0.9.1 (changelog, source)
Search

Class EntryPoint

A control flow entry point. Either a method (MethodImplementation) or a handler (Handler).

Handlers are control flow nodes because they push the handled exception onto the stack.

Import path

import semmle.code.cil.ControlFlow

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getStackSizeBefore

Gets the stack size before this instruction.

Inherited predicates

getAPredecessor

Gets a predecessor of this node, if any.

from ControlFlowNode
getASuccessor

Gets a successor of this node, if any.

from ControlFlowNode
getASuccessorType

Gets a successor to this node, of type type, 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
getImplementation

Gets the method containing this control flow node.

from ControlFlowNode
getLocation

Gets the location of this control flow node.

from ControlFlowNode
getOperand

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

from ControlFlowNode
getOperandType

Gets the type of the ith operand. Unlike getOperand(i).getType(), this predicate takes into account when there are multiple possible operands with different types.

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
getTrueSuccessor

Gets a true successor of this node, if any.

from ControlFlowNode
getType

Gets the type of the item pushed onto the stack, if any.

from ControlFlowNode
isBranch

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

from ControlFlowNode
isJoin

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

from ControlFlowNode
toString

Gets a textual representation of this control flow node.

from ControlFlowNode