Свойство | Тип | Описание | |
---|---|---|---|
Elements | SwitchLabel>.IDictionary | ||
Expr | Mono.CSharp.Expression | ||
Sections | List |
||
SwitchType | System.TypeSpec |
Метод | Описание | |
---|---|---|
DoEmitStringSwitch ( |
||
EmitObjectInteger ( |
||
Reset ( ) : void | ||
Resolve ( |
||
ResolveStringSwitchMap ( |
||
Switch ( Mono.CSharp.Expression e, |
||
TableSwitchEmit ( |
This method emits code for a lookup-based switch statement (non-string) Basically it groups the cases into blocks that are at least half full, and then spits out individual lookup opcodes for each block. It emits the longest blocks first, and short blocks are just handled with direct compares.
|
Метод | Описание | |
---|---|---|
CloneTo ( |
||
DoEmit ( |
Метод | Описание | |
---|---|---|
CheckSwitch ( |
||
FindSection ( |
||
SwitchGoverningType ( |
protected CloneTo ( |
||
clonectx | ||
t | ||
Результат | void |
public DoEmitStringSwitch ( |
||
value | ||
ec | ||
Результат | void |
public EmitObjectInteger ( |
||
ec | ||
k | object | |
Результат | void |
public ResolveStringSwitchMap ( |
||
ec | ||
Результат | void |
public Switch ( Mono.CSharp.Expression e, |
||
e | Mono.CSharp.Expression | |
block | ||
sects | List |
|
l | Mono.CSharp.Location | |
Результат | System |
public TableSwitchEmit ( |
||
ec | ||
val | Mono.CSharp.Expression | |
Результат | void |