nuget server logo nuget api documents
↑

API Docs / Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio / ILInstruction

ILInstruction

Full name Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.IL.ILInstruction Assembly Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio Members 16

01 Syntax

Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.IL.ILInstruction

02 Methods

NameOverloadsSummary
GetCode 1 Returns a friendly strign representation of this instruction
GetExpandedOffset 1 Add enough zeros to a number as to be represented on 4 characters
ToString 1

03 Properties

NameOverloadsSummary
Size 1 该指令的总字节长度(操作码 + 操作数)。由 MethodBodyReader 在解析时回填。
NextOffset 1 下一条指令的 IL 偏移(顺序执行时的落点)
IsUnconditionalBranch 1 无条件跳转(br / br.s / leave / leave.s)
IsConditionalBranch 1 条件跳转(brtrue / brfalse / 各类 beq bne bgt blt ...)
IsSwitch 1 多分支跳转(switch)
IsBranch 1 是否为任何一种跳转指令
IsReturn 1 ret
BranchTargets 1 该指令的全部跳转目标(绝对 IL 偏移)。 条件/无条件跳转返回单元素数组,switch 返回全部 case 目标,其余返回空数组。
CanFallThrough 1 该指令是否会把控制流交给后面的指令(用于基本块切分)
Code 1
Operand 1
OperandData 1
Offset 1

04 Members

method GetCode #
GetCode

Returns a friendly strign representation of this instruction

method GetExpandedOffset #
GetExpandedOffset(Int64)

Add enough zeros to a number as to be represented on 4 characters

Parameters
NameTypeDescription
offsetInt64

The number that must be represented on 4 characters

property Size #
Size

该指令的总字节长度(操作码 + 操作数)。由 MethodBodyReader 在解析时回填。

property NextOffset #
NextOffset

下一条指令的 IL 偏移(顺序执行时的落点)

property IsUnconditionalBranch #
IsUnconditionalBranch

无条件跳转(br / br.s / leave / leave.s)

property IsConditionalBranch #
IsConditionalBranch

条件跳转(brtrue / brfalse / 各类 beq bne bgt blt ...)

property IsSwitch #
IsSwitch

多分支跳转(switch)

property IsBranch #
IsBranch

是否为任何一种跳转指令

property IsReturn #
IsReturn

ret

property BranchTargets #
BranchTargets

该指令的全部跳转目标(绝对 IL 偏移)。 条件/无条件跳转返回单元素数组,switch 返回全部 case 目标,其余返回空数组。

property CanFallThrough #
CanFallThrough

该指令是否会把控制流交给后面的指令(用于基本块切分)

property Code #
Code
property Operand #
Operand
property OperandData #
OperandData
property Offset #
Offset
method ToString #
ToString()