コード例 #1
0
ファイル: Property.cs プロジェクト: Niller/NEngine
        internal override IEnumerable <Instruction> ToStack()
        {
            foreach (var instruction in _source.ToStack())
            {
                yield return(instruction);
            }

            yield return(_definition.GetMethod.ToWrapper().Call());
        }
コード例 #2
0
 internal override IEnumerable <Instruction> ToStack()
 {
     foreach (var instruction in _source.ToStack())
     {
         yield return(instruction);
     }
     yield return(Instruction.Create(OpCodes.Ldfld, _definition));
 }
コード例 #3
0
        public MethodState AddFieldSet(Field field, MethodValue value = null)
        {
            Insert(Instruction.Create(OpCodes.Ldarg_0));

            if (value != null)
            {
                Insert(value.ToStack());
            }

            Insert(field.FromStack());

            return(this);
        }
コード例 #4
0
        private MethodState AddVariableSet(MethodVariable variable, MethodValue value = null)
        {
            if (variable != null)
            {
                if (value != null)
                {
                    Insert(value.ToStack());
                }

                Insert(variable.FromStack());
            }

            return(this);
        }
コード例 #5
0
 public MethodState ReturnValue(MethodValue value)
 {
     Insert(value.ToStack());
     return(this);
 }