Beispiel #1
0
 public void FieldModification(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId thread, Types.Location location, TypeTag typeTag, ReferenceTypeId typeId, FieldId field, TaggedObjectId @object, Types.Value newValue)
 {
     throw new NotImplementedException();
 }
Beispiel #2
0
 public void MethodExit(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId thread, Types.Location location, Types.Value returnValue)
 {
     throw new NotImplementedException();
 }
Beispiel #3
0
        internal Value GetMirrorOf(Types.Value value)
        {
            switch (value.Tag)
            {
            case Tag.Array:
                return(GetMirrorOf(new ArrayId(value.Data)));

            case Tag.Byte:
                return(GetMirrorOf((byte)value.Data));

            case Tag.Char:
                return(GetMirrorOf((char)value.Data));

            case Tag.Object:
                if (value.Data == 0)
                {
                    return(null);
                }

                IReferenceType referenceType = GetMirrorOf(value.ReferenceType);
                return(new ObjectReference(this, new ObjectId(value.Data), referenceType));

            case Tag.Float:
                return(GetMirrorOf(ValueHelper.Int32BitsToSingle((int)value.Data)));

            case Tag.Double:
                return(GetMirrorOf(BitConverter.Int64BitsToDouble(value.Data)));

            case Tag.Int:
                return(GetMirrorOf((int)value.Data));

            case Tag.Long:
                return(GetMirrorOf((long)value.Data));

            case Tag.Short:
                return(GetMirrorOf((short)value.Data));

            case Tag.Void:
                return(GetMirrorOfVoid());

            case Tag.Boolean:
                return(GetMirrorOf(value.Data != 0));

            case Tag.String:
                return(GetMirrorOf(new StringId(value.Data)));

            case Tag.Thread:
                return(GetMirrorOf(new ThreadId(value.Data)));

            case Tag.ThreadGroup:
                return(GetMirrorOf(new ThreadGroupId(value.Data)));

            case Tag.ClassLoader:
                return(GetMirrorOf(new ClassLoaderId(value.Data)));

            case Tag.ClassObject:
                return(GetMirrorOf(new ClassObjectId(value.Data)));

            case Tag.Invalid:
            default:
                throw new DebuggerArgumentException();
            }
        }