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

◆ EmitIndexAssignment()

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitIndexAssignment ( AssignBinaryExpression node,
CompilationFlags flags )
inlineprivate

Definition at line 1241 of file LambdaCompiler.cs.

1242 {
1243 IndexExpression indexExpression = (IndexExpression)node.Left;
1244 CompilationFlags compilationFlags = flags & CompilationFlags.EmitAsTypeMask;
1245 Type type = null;
1246 if (indexExpression.Object != null)
1247 {
1249 }
1250 int i = 0;
1251 for (int argumentCount = indexExpression.ArgumentCount; i < argumentCount; i++)
1252 {
1253 Expression argument = indexExpression.GetArgument(i);
1255 }
1256 EmitExpression(node.Right);
1257 LocalBuilder local = null;
1258 if (compilationFlags != CompilationFlags.EmitAsVoidType)
1259 {
1262 }
1264 if (compilationFlags != CompilationFlags.EmitAsVoidType)
1265 {
1268 }
1269 }
void EmitInstance(Expression instance, out Type type)
void EmitSetIndexCall(IndexExpression node, Type objectType)
virtual void Emit(OpCode opcode)
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Ldloc
Definition OpCodes.cs:425
static readonly OpCode Dup
Definition OpCodes.cs:77

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.Dup, System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpression(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitInstance(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitSetIndexCall(), System.Linq.Expressions.Compiler.LambdaCompiler.FreeLocal(), System.Linq.Expressions.Compiler.LambdaCompiler.GetLocal(), System.Reflection.Emit.OpCodes.Ldloc, System.Reflection.Emit.OpCodes.Stloc, and System.type.

Referenced by System.Linq.Expressions.Compiler.LambdaCompiler.EmitAssign().