Свойство | Type | Description | |
---|---|---|---|
Elements | SwitchLabel>.IDictionary | ||
Expr | Mono.CSharp.Expression | ||
Sections | List |
||
SwitchType | System.TypeSpec |
Méthode | Description | |
---|---|---|
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.
|
Méthode | Description | |
---|---|---|
CloneTo ( |
||
DoEmit ( |
Méthode | Description | |
---|---|---|
CheckSwitch ( |
||
FindSection ( |
||
SwitchGoverningType ( |
protected CloneTo ( |
||
clonectx | ||
t | ||
Résultat | void |
public DoEmitStringSwitch ( |
||
value | ||
ec | ||
Résultat | void |
public EmitObjectInteger ( |
||
ec | ||
k | object | |
Résultat | void |
public ResolveStringSwitchMap ( |
||
ec | ||
Résultat | void |
public Switch ( Mono.CSharp.Expression e, |
||
e | Mono.CSharp.Expression | |
block | ||
sects | List |
|
l | Mono.CSharp.Location | |
Résultat | System |
public TableSwitchEmit ( |
||
ec | ||
val | Mono.CSharp.Expression | |
Résultat | void |