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

◆ EmitArguments() [2/2]

List< WriteBack > System.Linq.Expressions.Compiler.LambdaCompiler.EmitArguments ( MethodBase method,
IArgumentProvider args,
int skipParameters )
inlineprivate

Definition at line 1433 of file LambdaCompiler.cs.

1434 {
1435 ParameterInfo[] parametersCached = method.GetParametersCached();
1436 List<WriteBack> list = null;
1437 int i = skipParameters;
1438 for (int num = parametersCached.Length; i < num; i++)
1439 {
1441 Expression argument = args.GetArgument(i - skipParameters);
1442 Type parameterType = parameterInfo.ParameterType;
1443 if (parameterType.IsByRef)
1444 {
1445 parameterType = parameterType.GetElementType();
1447 if (writeBack != null)
1448 {
1449 if (list == null)
1450 {
1451 list = new List<WriteBack>();
1452 }
1453 list.Add(writeBack);
1454 }
1455 }
1456 else
1457 {
1459 }
1460 }
1461 return list;
1462 }
WriteBack EmitAddressWriteBack(Expression node, Type type)
delegate void WriteBack(LambdaCompiler compiler)

References System.Linq.Expressions.Compiler.LambdaCompiler.EmitAddressWriteBack(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpression(), System.list, and System.Linq.Expressions.Compiler.LambdaCompiler.WriteBack().