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

◆ CompileTop()

LightDelegateCreator System.Linq.Expressions.Interpreter.LightCompiler.CompileTop ( LambdaExpression node)
inline

Definition at line 131 of file LightCompiler.cs.

132 {
133 node.ValidateArgumentCount();
134 int i = 0;
135 for (int parameterCount = node.ParameterCount; i < parameterCount; i++)
136 {
137 ParameterExpression parameter = node.GetParameter(i);
138 LocalDefinition localDefinition = _locals.DefineLocal(parameter, 0);
140 }
141 Compile(node.Body);
142 if (node.Body.Type != typeof(void) && node.ReturnType == typeof(void))
143 {
145 }
146 return new LightDelegateCreator(MakeInterpreter(node.Name), node);
147 }
Interpreter MakeInterpreter(string lambdaName)
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.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Linq.Expressions.Interpreter.LocalVariables.DefineLocal(), System.Linq.Expressions.Interpreter.InstructionList.EmitInitializeParameter(), System.Linq.Expressions.Interpreter.InstructionList.EmitPop(), and System.Linq.Expressions.Interpreter.LightCompiler.MakeInterpreter().

Referenced by System.Linq.Expressions.Expression< TDelegate >.Compile(), and System.Linq.Expressions.LambdaExpression.Compile().