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

◆ EmitStoreValueIndirect()

static void System.Linq.Expressions.Compiler.ILGen.EmitStoreValueIndirect ( this ILGenerator il,
Type type )
inlinestaticpackage

Definition at line 88 of file ILGen.cs.

89 {
90 switch (type.GetTypeCode())
91 {
92 case TypeCode.Boolean:
93 case TypeCode.SByte:
94 case TypeCode.Byte:
95 il.Emit(OpCodes.Stind_I1);
96 return;
97 case TypeCode.Char:
98 case TypeCode.Int16:
99 case TypeCode.UInt16:
100 il.Emit(OpCodes.Stind_I2);
101 return;
102 case TypeCode.Int32:
103 case TypeCode.UInt32:
104 il.Emit(OpCodes.Stind_I4);
105 return;
106 case TypeCode.Int64:
107 case TypeCode.UInt64:
108 il.Emit(OpCodes.Stind_I8);
109 return;
110 case TypeCode.Single:
111 il.Emit(OpCodes.Stind_R4);
112 return;
113 case TypeCode.Double:
114 il.Emit(OpCodes.Stind_R8);
115 return;
116 }
117 if (type.IsValueType)
118 {
119 il.Emit(OpCodes.Stobj, type);
120 }
121 else
122 {
123 il.Emit(OpCodes.Stind_Ref);
124 }
125 }
static readonly OpCode Stind_R8
Definition OpCodes.cs:177
static readonly OpCode Stind_I1
Definition OpCodes.cs:167
static readonly OpCode Stind_I2
Definition OpCodes.cs:169
static readonly OpCode Stind_I8
Definition OpCodes.cs:173
static readonly OpCode Stind_I4
Definition OpCodes.cs:171
static readonly OpCode Stobj
Definition OpCodes.cs:257
static readonly OpCode Stind_R4
Definition OpCodes.cs:175
static readonly OpCode Stind_Ref
Definition OpCodes.cs:165

References System.Reflection.Emit.ILGenerator.Emit(), System.Reflection.Emit.OpCodes.Stind_I1, System.Reflection.Emit.OpCodes.Stind_I2, System.Reflection.Emit.OpCodes.Stind_I4, System.Reflection.Emit.OpCodes.Stind_I8, System.Reflection.Emit.OpCodes.Stind_R4, System.Reflection.Emit.OpCodes.Stind_R8, System.Reflection.Emit.OpCodes.Stind_Ref, System.Reflection.Emit.OpCodes.Stobj, and System.type.