Exemplo n.º 1
0
 internal override void WriteTo(MethodCodeDataWriterArgs a)
 {
     using (a.NewBlock(4))
     {
         a.ExpressionData.Write((byte)0x6D);
         foreach (var curCase in Case)
         {
             if (curCase.UnexaminedCode != null)
             {
                 new UnexaminedStatement(curCase.UnexaminedCode, curCase.Mask).WriteTo(a, 0x6E);
             }
             else
             {
                 new ExpressionStatement(new CallExpression(0, 2, new ParamListExpression()
                 {
                     curCase.Condition
                 }), curCase.Mask, curCase.Comment).WriteTo(a, 0x6E);
             }
             curCase.Block.WriteTo(a);
             a.ExpressionData.Write((byte)0x53);
         }
         a.ExpressionData.Write((byte)0x6F);
         DefaultBlock.WriteTo(a);
         a.ExpressionData.Write((byte)0x54);
     }
     a.ExpressionData.Write((byte)0x74);
 }
Exemplo n.º 2
0
 internal override void WriteTo(MethodCodeDataWriterArgs a)
 {
     using (a.NewBlock(2))
     {
         if (UnexaminedCode != null)
         {
             new UnexaminedStatement(UnexaminedCode, Mask).WriteTo(a, 0x6C);
         }
         else
         {
             new ExpressionStatement(new CallExpression(0, 1, new ParamListExpression()
             {
                 Condition
             }), Mask, Comment).WriteTo(a, 0x6C);
         }
         Block.WriteTo(a);
         a.ExpressionData.Write((byte)0x52);
     }
     a.ExpressionData.Write((byte)0x73);
 }
Exemplo n.º 3
0
 internal override void WriteTo(MethodCodeDataWriterArgs a)
 {
     using (a.NewBlock(3))
     {
         if (UnexaminedCode != null)
         {
             new UnexaminedStatement(UnexaminedCode, MaskOnStart).WriteTo(a, 0x70);
         }
         else
         {
             new ExpressionStatement(new CallExpression(0, 3, new ParamListExpression()
             {
                 Condition
             }), MaskOnStart, CommentOnStart).WriteTo(a, 0x70);
         }
         Block.WriteTo(a);
         a.ExpressionData.Write((byte)0x55);
     }
     new ExpressionStatement(new CallExpression(0, 4, new ParamListExpression()
     {
     }), MaskOnEnd, CommentOnEnd).WriteTo(a, 0x71);
 }