Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public ILChainIfCondition(ILExpressed il, ILGenerationHandler condition)
 {
     _chain = new ILChainIf(il) {
         Condition = condition
     };
 }