public DynamicMethodBody IfNull(bool not)
        {
            var emitter = new IfEmitter(this);

            ifEmitters.Push(emitter);
            emitter.EmitBranch(!not);
            return(this);
        }
        public DynamicMethodBody If(string expression)
        {
            var emitter = new IfEmitter(this);

            ifEmitters.Push(emitter);
            Parser.Parse(expression, this);
            emitter.EmitBranch();
            return(this);
        }
        public DynamicMethodBody If(Expression expression)
        {
            var emitter = new IfEmitter(this);

            ifEmitters.Push(emitter);
            Expression(expression);
            emitter.EmitBranch();
            return(this);
        }
        public DynamicMethodBody IfEmptyString(bool not)
        {
            var stringEmpty = typeof (string).GetField("Empty");
            var stringOpEqualityMethod = typeof (string).GetMethod(
                "op_Equality", new[] {typeof (string), typeof (string)});

            var emitter = new IfEmitter(this);
            ifEmittersField.Push(emitter);
            Ldsfld(stringEmpty)
                .Call(stringOpEqualityMethod);

            emitter.EmitBranch(not);
            return this;
        }
        public DynamicMethodBody IfEmptyString(bool not)
        {
            var stringEmpty            = typeof(string).GetField("Empty");
            var stringOpEqualityMethod = typeof(string).GetMethod(
                "op_Equality", new[] { typeof(string), typeof(string) });

            var emitter = new IfEmitter(this);

            ifEmitters.Push(emitter);
            Ldsfld(stringEmpty)
            .Call(stringOpEqualityMethod);

            emitter.EmitBranch(not);
            return(this);
        }
 public DynamicMethodBody IfNull(bool not)
 {
     var emitter = new IfEmitter(this);
     ifEmittersField.Push(emitter);
     emitter.EmitBranch(!not);
     return this;
 }
 public DynamicMethodBody If(string expression)
 {
     var emitter = new IfEmitter(this);
     ifEmittersField.Push(emitter);
     Parser.Parse(expression, this);
     emitter.EmitBranch();
     return this;
 }
 public DynamicMethodBody If(Expression expression)
 {
     var emitter = new IfEmitter(this);
     ifEmittersField.Push(emitter);
     Expression(expression);
     emitter.EmitBranch();
     return this;
 }