internal TargetObject GetField(TargetMemoryAccess target, TargetLocation location,
                                       NativeFieldInfo field)
        {
            TargetLocation field_loc = location.GetLocationAtOffset(field.Offset);

            if (field.Type.IsByRef)
            {
                field_loc = field_loc.GetDereferencedLocation();
            }

            if (!field.Type.IsByRef && field.IsBitfield)
            {
                field_loc = new BitfieldTargetLocation(
                    field_loc, field.BitOffset, field.BitSize);
            }

            return(field.Type.GetObject(target, field_loc));
        }
        internal void SetField(TargetMemoryAccess target, TargetLocation location,
                               NativeFieldInfo field, TargetObject obj)
        {
            TargetLocation field_loc = location.GetLocationAtOffset(field.Offset);

            if (field.Type.IsByRef)
            {
                field_loc = field_loc.GetDereferencedLocation();
            }

            if (!field.Type.IsByRef && field.IsBitfield)
            {
                field_loc = new BitfieldTargetLocation(
                    field_loc, field.BitOffset, field.BitSize);
            }

            // field.Type.SetObject (field_loc, obj);
            throw new NotImplementedException();
        }
Example #3
0
        public override void SetField(Thread thread, TargetStructObject instance,
                                      TargetFieldInfo field, TargetObject value)
        {
            TargetLocation field_loc = instance.Location.GetLocationAtOffset(field.Offset);

            if (field.Type.IsByRef)
            {
                field_loc = field_loc.GetDereferencedLocation();
            }

            NativeFieldInfo nfield = (NativeFieldInfo)field;

            if (!field.Type.IsByRef && nfield.IsBitfield)
            {
                field_loc = new BitfieldTargetLocation(
                    field_loc, nfield.BitOffset, nfield.BitSize);
            }

            // field.Type.SetObject (field_loc, value);
            throw new NotImplementedException();
        }
Example #4
0
        internal TargetObject GetField(TargetMemoryAccess target,
                                       TargetStructObject instance,
                                       TargetFieldInfo field)
        {
            TargetLocation field_loc = instance.Location.GetLocationAtOffset(field.Offset);

            if (field.Type.IsByRef)
            {
                field_loc = field_loc.GetDereferencedLocation();
            }

            NativeFieldInfo nfield = (NativeFieldInfo)field;

            if (!field.Type.IsByRef && nfield.IsBitfield)
            {
                field_loc = new BitfieldTargetLocation(
                    field_loc, nfield.BitOffset, nfield.BitSize);
            }

            return(field.Type.GetObject(target, field_loc));
        }
Example #5
0
        internal TargetObject GetField(TargetMemoryAccess target,
						TargetStructObject instance,
						TargetFieldInfo field)
        {
            TargetLocation field_loc = instance.Location.GetLocationAtOffset (field.Offset);

            if (field.Type.IsByRef)
                field_loc = field_loc.GetDereferencedLocation ();

            NativeFieldInfo nfield = (NativeFieldInfo) field;
            if (!field.Type.IsByRef && nfield.IsBitfield)
                field_loc = new BitfieldTargetLocation (
                    field_loc, nfield.BitOffset, nfield.BitSize);

            return field.Type.GetObject (target, field_loc);
        }
Example #6
0
        public override void SetField(Thread thread, TargetStructObject instance,
					       TargetFieldInfo field, TargetObject value)
        {
            TargetLocation field_loc = instance.Location.GetLocationAtOffset (field.Offset);

            if (field.Type.IsByRef)
                field_loc = field_loc.GetDereferencedLocation ();

            NativeFieldInfo nfield = (NativeFieldInfo) field;
            if (!field.Type.IsByRef && nfield.IsBitfield)
                field_loc = new BitfieldTargetLocation (
                    field_loc, nfield.BitOffset, nfield.BitSize);

            // field.Type.SetObject (field_loc, value);
            throw new NotImplementedException ();
        }
Example #7
0
        internal void SetField(TargetMemoryAccess target, TargetLocation location,
					NativeFieldInfo field, TargetObject obj)
        {
            TargetLocation field_loc = location.GetLocationAtOffset (field.Offset);

            if (field.Type.IsByRef)
                field_loc = field_loc.GetDereferencedLocation ();

            if (!field.Type.IsByRef && field.IsBitfield)
                field_loc = new BitfieldTargetLocation (
                    field_loc, field.BitOffset, field.BitSize);

            // field.Type.SetObject (field_loc, obj);
            throw new NotImplementedException ();
        }
Example #8
0
        internal TargetObject GetField(TargetMemoryAccess target, TargetLocation location,
						NativeFieldInfo field)
        {
            TargetLocation field_loc = location.GetLocationAtOffset (field.Offset);

            if (field.Type.IsByRef)
                field_loc = field_loc.GetDereferencedLocation ();

            if (!field.Type.IsByRef && field.IsBitfield)
                field_loc = new BitfieldTargetLocation (
                    field_loc, field.BitOffset, field.BitSize);

            return field.Type.GetObject (target, field_loc);
        }