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

◆ EmitLoadElement()

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

Definition at line 127 of file ILGen.cs.

128 {
129 if (!type.IsValueType)
130 {
131 il.Emit(OpCodes.Ldelem_Ref);
132 return;
133 }
134 switch (type.GetTypeCode())
135 {
136 case TypeCode.Boolean:
137 case TypeCode.SByte:
138 il.Emit(OpCodes.Ldelem_I1);
139 break;
140 case TypeCode.Byte:
141 il.Emit(OpCodes.Ldelem_U1);
142 break;
143 case TypeCode.Int16:
144 il.Emit(OpCodes.Ldelem_I2);
145 break;
146 case TypeCode.Char:
147 case TypeCode.UInt16:
148 il.Emit(OpCodes.Ldelem_U2);
149 break;
150 case TypeCode.Int32:
151 il.Emit(OpCodes.Ldelem_I4);
152 break;
153 case TypeCode.UInt32:
154 il.Emit(OpCodes.Ldelem_U4);
155 break;
156 case TypeCode.Int64:
157 case TypeCode.UInt64:
158 il.Emit(OpCodes.Ldelem_I8);
159 break;
160 case TypeCode.Single:
161 il.Emit(OpCodes.Ldelem_R4);
162 break;
163 case TypeCode.Double:
164 il.Emit(OpCodes.Ldelem_R8);
165 break;
166 default:
167 il.Emit(OpCodes.Ldelem, type);
168 break;
169 }
170 }
static readonly OpCode Ldelem_I2
Definition OpCodes.cs:291
static readonly OpCode Ldelem_U2
Definition OpCodes.cs:293
static readonly OpCode Ldelem
Definition OpCodes.cs:325
static readonly OpCode Ldelem_U4
Definition OpCodes.cs:297
static readonly OpCode Ldelem_Ref
Definition OpCodes.cs:307
static readonly OpCode Ldelem_I4
Definition OpCodes.cs:295
static readonly OpCode Ldelem_R4
Definition OpCodes.cs:303
static readonly OpCode Ldelem_U1
Definition OpCodes.cs:289
static readonly OpCode Ldelem_I1
Definition OpCodes.cs:287
static readonly OpCode Ldelem_R8
Definition OpCodes.cs:305
static readonly OpCode Ldelem_I8
Definition OpCodes.cs:299

References System.Reflection.Emit.ILGenerator.Emit(), System.Reflection.Emit.OpCodes.Ldelem, System.Reflection.Emit.OpCodes.Ldelem_I1, System.Reflection.Emit.OpCodes.Ldelem_I2, System.Reflection.Emit.OpCodes.Ldelem_I4, System.Reflection.Emit.OpCodes.Ldelem_I8, System.Reflection.Emit.OpCodes.Ldelem_R4, System.Reflection.Emit.OpCodes.Ldelem_R8, System.Reflection.Emit.OpCodes.Ldelem_Ref, System.Reflection.Emit.OpCodes.Ldelem_U1, System.Reflection.Emit.OpCodes.Ldelem_U2, System.Reflection.Emit.OpCodes.Ldelem_U4, and System.type.