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

◆ EmitListInit() [2/2]

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitListInit ( ReadOnlyCollection< ElementInit > initializers,
bool keepOnStack,
Type objectType )
inlineprivate

Definition at line 1905 of file LambdaCompiler.cs.

1906 {
1907 int count = initializers.Count;
1908 if (count == 0)
1909 {
1910 if (!keepOnStack)
1911 {
1913 }
1914 return;
1915 }
1916 for (int i = 0; i < count; i++)
1917 {
1918 if (keepOnStack || i < count - 1)
1919 {
1921 }
1923 if (initializers[i].AddMethod.ReturnType != typeof(void))
1924 {
1926 }
1927 }
1928 }
void EmitMethodCall(Expression obj, MethodInfo method, IArgumentProvider methodCallExpr)
virtual void Emit(OpCode opcode)
static readonly OpCode Pop
Definition OpCodes.cs:79
static readonly OpCode Dup
Definition OpCodes.cs:77

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Linq.count, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Reflection.Emit.OpCodes.Dup, System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitMethodCall(), and System.Reflection.Emit.OpCodes.Pop.