Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Run()

override int System.Linq.Expressions.Interpreter.CastReferenceToEnumInstruction.Run ( InterpretedFrame frame)
inline

Definition at line 14 of file CastReferenceToEnumInstruction.cs.

15 {
16 object obj = frame.Pop();
17 switch (_t.GetTypeCode())
18 {
19 case TypeCode.Int32:
20 frame.Push(Enum.ToObject(_t, (int)obj));
21 break;
22 case TypeCode.Int64:
23 frame.Push(Enum.ToObject(_t, (long)obj));
24 break;
25 case TypeCode.UInt32:
26 frame.Push(Enum.ToObject(_t, (uint)obj));
27 break;
28 case TypeCode.UInt64:
29 frame.Push(Enum.ToObject(_t, (ulong)obj));
30 break;
31 case TypeCode.Byte:
32 frame.Push(Enum.ToObject(_t, (byte)obj));
33 break;
34 case TypeCode.SByte:
35 frame.Push(Enum.ToObject(_t, (sbyte)obj));
36 break;
37 case TypeCode.Int16:
38 frame.Push(Enum.ToObject(_t, (short)obj));
39 break;
40 case TypeCode.UInt16:
41 frame.Push(Enum.ToObject(_t, (ushort)obj));
42 break;
43 case TypeCode.Char:
44 frame.Push(Enum.ToObject(_t, (char)obj));
45 break;
46 default:
47 frame.Push(Enum.ToObject(_t, (bool)obj));
48 break;
49 }
50 return 1;
51 }
static TypeCode GetTypeCode(Type? type)
Definition Type.cs:919

References System.Linq.Expressions.Interpreter.CastReferenceToEnumInstruction._t, System.Type.GetTypeCode(), System.obj, System.Linq.Expressions.Interpreter.InterpretedFrame.Pop(), System.Linq.Expressions.Interpreter.InterpretedFrame.Push(), and System.Enum.ToObject().