Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
IntSwitchInstruction.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
3
namespace
System.Linq.Expressions.Interpreter
;
4
5
internal
sealed
class
IntSwitchInstruction
<T> :
Instruction
6
{
7
private
readonly
Dictionary<T, int>
_cases
;
8
9
public
override
string
InstructionName
=>
"IntSwitch"
;
10
11
public
override
int
ConsumedStack
=> 1;
12
13
internal
IntSwitchInstruction
(
Dictionary<T, int>
cases
)
14
{
15
_cases
=
cases
;
16
}
17
18
public
override
int
Run
(
InterpretedFrame
frame)
19
{
20
if
(!
_cases
.
TryGetValue
((T)frame.
Pop
(),
out
var
value
))
21
{
22
return
1;
23
}
24
return
value
;
25
}
26
}
System.Collections.Generic.Dictionary.TryGetValue
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
Definition
Dictionary.cs:1419
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Linq.Expressions.Interpreter.Instruction
Definition
Instruction.cs:6
System.Linq.Expressions.Interpreter.IntSwitchInstruction._cases
readonly Dictionary< T, int > _cases
Definition
IntSwitchInstruction.cs:7
System.Linq.Expressions.Interpreter.IntSwitchInstruction.Run
override int Run(InterpretedFrame frame)
Definition
IntSwitchInstruction.cs:18
System.Linq.Expressions.Interpreter.IntSwitchInstruction.IntSwitchInstruction
IntSwitchInstruction(Dictionary< T, int > cases)
Definition
IntSwitchInstruction.cs:13
System.Linq.Expressions.Interpreter.IntSwitchInstruction.InstructionName
override string InstructionName
Definition
IntSwitchInstruction.cs:9
System.Linq.Expressions.Interpreter.IntSwitchInstruction.ConsumedStack
override int ConsumedStack
Definition
IntSwitchInstruction.cs:11
System.Linq.Expressions.Interpreter.IntSwitchInstruction
Definition
IntSwitchInstruction.cs:6
System.Linq.Expressions.Interpreter.InterpretedFrame.Pop
object Pop()
Definition
InterpretedFrame.cs:90
System.Linq.Expressions.Interpreter.InterpretedFrame
Definition
InterpretedFrame.cs:7
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Linq.Expressions.Interpreter
Definition
ActionCallInstruction.cs:3
System.ExceptionArgument.value
@ value
source
System.Linq.Expressions
System.Linq.Expressions.Interpreter
IntSwitchInstruction.cs
Generated by
1.10.0