Module InstructionGroups

Provides classes representing various classes of expression and other instructions.

Import path

semmle.code.cil.InstructionGroups

Classes

BinaryArithmeticExpr

A binary arithmetic expression.

BinaryBitwiseOperation

A binary bitwise expression.

BinaryBranch

A branch with two operands.

BinaryExpr

An expression with two operands.

Branch

An instruction that changes control flow.

Call

A call.

ComparisonOperation

A binary expression that compares two values.

ConditionalBranch

An instruction that jumps to a target based on a condition.

Conversion

A unary expression that converts a value from one primitive type to another.

Expr

An instruction that pushes a value onto the stack.

FloatLiteral

An expression that pushes a float/Single.

IntLiteral

An integer literal.

Leave

A branch that leaves the scope of a Handler.

Literal

An expression that pushes a literal value onto the stack.

LoadIndirect

Loads a value from an address/location.

NullLiteral

An expression that pushes a null value onto the stack.

ReadArrayElement

A read of an array element.

Return

A return statement.

StaticCall

A call to a static target.

StoreIndirect

Stores a value at an address/location.

TailCall

A tail call.

Throw

A throw statement.

UnaryBitwiseOperation

A unary bitwise expression.

UnaryBranch

A branch with one operand.

UnaryExpr

An expression with one operand.

UnconditionalBranch

An instruction that unconditionally jumps to another instruction.

VirtualCall

A call to a virtual target.

WriteArrayElement

A write of an array element.