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

◆ EmitLoopExpression()

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitLoopExpression ( Expression expr)
inlineprivate

Definition at line 2946 of file LambdaCompiler.cs.

2947 {
2948 LoopExpression loopExpression = (LoopExpression)expr;
2949 PushLabelBlock(LabelScopeKind.Statement);
2950 LabelInfo labelInfo = DefineLabel(loopExpression.BreakLabel);
2951 LabelInfo labelInfo2 = DefineLabel(loopExpression.ContinueLabel);
2952 labelInfo2.MarkWithEmptyStack();
2954 _ilg.Emit(OpCodes.Br, labelInfo2.Label);
2955 PopLabelBlock(LabelScopeKind.Statement);
2956 labelInfo.MarkWithEmptyStack();
2957 }
virtual void Emit(OpCode opcode)
static readonly OpCode Br
Definition OpCodes.cs:115

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.Br, System.Linq.Expressions.Compiler.LambdaCompiler.DefineLabel(), System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpressionAsVoid(), System.Linq.Expressions.Compiler.LambdaCompiler.PopLabelBlock(), and System.Linq.Expressions.Compiler.LambdaCompiler.PushLabelBlock().

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