Boo.Lang.Runtime.SetFieldEmitter.EmitMethodBody C# (CSharp) Method

EmitMethodBody() protected method

protected EmitMethodBody ( ) : void
return void
        protected override void EmitMethodBody()
        {
            LocalBuilder value = DeclareLocal(_field.FieldType);
            EmitLoadValue();
            StoreLocal(value);

            if (_field.IsStatic)
            {
                LoadLocal(value);
                _il.Emit(OpCodes.Stsfld, _field);
            }
            else
            {
                EmitLoadTargetObject(_field.DeclaringType);
                LoadLocal(value);
                _il.Emit(OpCodes.Stfld, _field);
            }

            LoadLocal(value);
            EmitReturn(_field.FieldType);
        }