Exemplo n.º 1
0
        bool MatchSwitchCaseAndBuildExpression(ILBasicBlock head, out ILLabel trueLabel, out ILLabel falseLabel, out ILExpression expr)
        {
            ILExpression condition;

            if (MatchSwitchCase(head, out trueLabel, out falseLabel, out condition))
            {
                var ranges = head.JoinILRangesFromTail(5);
                expr = new ILExpression(GMCode.Bt, trueLabel, new ILExpression(GMCode.Seq, null, condition));
                expr.WithILRanges(ranges);
                return(true);
            }
            trueLabel  = default(ILLabel);
            falseLabel = default(ILLabel);
            expr       = default(ILExpression);
            return(false);
        }