// ReSharper disable InconsistentNaming
        public DynamicMethodBody IfNotlt_Un()
        // ReSharper restore InconsistentNaming
        {
            var emitter = new IfEmitter(this);

            ifEmittersField.Push(emitter);
            emitter.EmitIf(OpCodes.Clt_Un, true);
            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);
        }
        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;
        }
Example #5
0
        // ReSharper disable InconsistentNaming
        public DynamicMethodBody Iflt_Un(int right)
        // ReSharper restore InconsistentNaming
        {
            var emitter = new IfEmitter(this);

            ifEmittersField.Push(emitter);
            preEmitActionsField.Push(() =>
            {
                LdcI4(right);
                emitter.EmitIf(OpCodes.Clt_Un);
            }
                                     );
            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;
 }
		// ReSharper disable InconsistentNaming
		public DynamicMethodBody Ifeq()
		// ReSharper restore InconsistentNaming
		{
			var emitter = new IfEmitter(this);
			ifEmitters.Push(emitter);
			emitter.EmitIf(OpCodes.Ceq);
			return this;
		}
		// ReSharper disable InconsistentNaming
		public DynamicMethodBody Iflt_Un(int right)
		// ReSharper restore InconsistentNaming
		{
			var emitter = new IfEmitter(this);
			ifEmitters.Push(emitter);
			preEmitActions.Push( () => 
				{
					LdcI4(right);
					emitter.EmitIf(OpCodes.Clt_Un);
				}
				);
			return this; 
		}
		// ReSharper disable InconsistentNaming
		public DynamicMethodBody IfNotlt_Un()
		// ReSharper restore InconsistentNaming
		{
			var emitter = new IfEmitter(this);
			ifEmittersField.Push(emitter);
			emitter.EmitIf(OpCodes.Clt_Un, true);
			return this;
		}