void IILCode.Generate(ILExpressed il) { var loopConditionLabel = il.DefineLabel(); var loopBodyLabel = il.DefineLabel(); il.TransferLong(loopConditionLabel); il.MarkLabel(loopBodyLabel); _bodyHandler.Invoke(il); il.MarkLabel(loopConditionLabel); _conditionHandler.Invoke(il); il.TransferLongIfTrue(loopBodyLabel); }
public ILChainIfCondition(ILExpressed il, ILGenerationHandler condition) { _chain = new ILChainIf(il) { Condition = condition }; }