예제 #1
0
 public override void Visit(ConditionalBranchExpression expression)
 {
 }
예제 #2
0
 public abstract void Visit(ConditionalBranchExpression expression);
예제 #3
0
 public override void Visit(ConditionalBranchExpression expression)
 {
     throw new NotImplementedException();
 }
예제 #4
0
        private static ConditionalBranchExpression HandleConditionalBranch(Instruction instr, MethodDef method)
        {
            var expr = new ConditionalBranchExpression(instr);

            switch (instr.OpCode.Code)
            {
                case Code.Bge:
                case Code.Bge_S:
                case Code.Bge_Un:
                case Code.Bge_Un_S:
                    expr.Operation = ConditionalOps.GreaterThanOrEqual;
                    break;
                case Code.Bgt:
                case Code.Bgt_S:
                case Code.Bgt_Un:
                case Code.Bgt_Un_S:
                    expr.Operation = ConditionalOps.GreaterThan;
                    break;

                case Code.Ble:
                case Code.Ble_S:
                case Code.Ble_Un:
                case Code.Ble_Un_S:
                    expr.Operation = ConditionalOps.LessThanOrEqual;
                    break;

                case Code.Blt:
                case Code.Blt_S:
                case Code.Blt_Un:
                case Code.Blt_Un_S:
                    expr.Operation = ConditionalOps.LessThan;
                    break;
            }

            return expr;
        }