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

◆ CompileArrayIndexAddress()

ByRefUpdater System.Linq.Expressions.Interpreter.LightCompiler.CompileArrayIndexAddress ( Expression array,
Expression index,
int argumentIndex )
inlineprivate

Definition at line 1640 of file LightCompiler.cs.

1641 {
1642 LocalDefinition array2 = _locals.DefineLocal(Expression.Parameter(array.Type, "array"), _instructions.Count);
1643 LocalDefinition index2 = _locals.DefineLocal(Expression.Parameter(index.Type, "index"), _instructions.Count);
1644 Compile(array);
1646 Compile(index);
1651 return new ArrayByRefUpdater(array2, index2, argumentIndex);
1652 }
void Compile(Expression expr, bool asVoid)
LocalDefinition DefineLocal(ParameterExpression variable, int start)

References System.Linq.Expressions.Interpreter.LightCompiler._instructions, System.Linq.Expressions.Interpreter.LightCompiler._locals, System.array, System.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Linq.Expressions.Interpreter.InstructionList.Count, System.Linq.Expressions.Interpreter.LocalVariables.DefineLocal(), System.Linq.Expressions.Interpreter.InstructionList.EmitGetArrayItem(), System.Linq.Expressions.Interpreter.InstructionList.EmitLoadLocal(), System.Linq.Expressions.Interpreter.InstructionList.EmitStoreLocal(), System.Linq.index, System.index2, and System.Linq.Expressions.Expression< TDelegate >.Parameter().

Referenced by System.Linq.Expressions.Interpreter.LightCompiler.CompileAddress().