+2007-03-27 Keith Seitz <keiths@redhat.com>
+
+ * gnu/classpath/jdwp/VMFrame.java: Update from upstream
+ classpath.
+ * gnu/classpath/jdwp/natVMFrame.cc: Likewise.
+ * gnu/classpath/jdwp/VMVirtualMachine.java: Likewise.
+ * gnu/classpath/jdwp/natVMVirtualMachine.cc: Likewise.
+ (initialize): Fix compiler type-punning warning.
+ (getAllLoadedClasses): Return empty list instead of NULL.
+ (getLoadRequests): Likewise.
+ * gnu/classpath/jdwp/exception/InvalidTagException.h: New file.
+ * gnu/classpath/jdwp/exception/InvalidSlotException.h: New file.
+ * gnu/classpath/jdwp/exception/TypeMismatchException.h: New file.
+ * gnu/classpath/jdwp/VMVirtualMachine.h: Rebuilt.
+ * gnu/classpath/jdwp/value/CharValue.h: New file.
+ * gnu/classpath/jdwp/value/LongValue.h: New file.
+ * gnu/classpath/jdwp/value/ShortValue.h: New file.
+ * gnu/classpath/jdwp/value/Value.h: New file.
+ * gnu/classpath/jdwp/value/BooleanValue.h: New file.
+ * gnu/classpath/jdwp/value/VoidValue.h: New file.
+ * gnu/classpath/jdwp/value/ByteValue.h: New file.
+ * gnu/classpath/jdwp/value/FloatValue.h: New file.
+ * gnu/classpath/jdwp/value/ObjectValue.h: New file.
+ * gnu/classpath/jdwp/value/StringValue.h: New file.
+ * gnu/classpath/jdwp/value/ValueFactory.h: New file.
+ * gnu/classpath/jdwp/value/IntValue.h: New file.
+ * gnu/classpath/jdwp/value/DoubleValue.h: New file.
+ * gnu/classpath/jdwp/VMFrame.h: Rebuilt.
+ * gnu/classpath/jdwp/id/NullObjectId.h: New file.
+ * gnu/classpath/jdwp/util/MethodResult.h: Rebuilt.
+ * gnu/classpath/jdwp/util/NullObject.h: New file.
+ * gnu/classpath/jdwp/util/MonitorInfo.h: New file.
+ * Makefile.in: Rebuilt.
+ * sources.am: Rebuilt.
+
2006-03-26 David Daney <ddaney@avtrex.com>
* configure.ac: Remove checks for mktime, alloca, ioctl, gmtime_r,
gnu/classpath/jdwp/exception.lo gnu/classpath/jdwp/id.lo \
gnu/classpath/jdwp/processor.lo \
gnu/classpath/jdwp/transport.lo gnu/classpath/jdwp/util.lo \
- gnu/gcj.lo gnu/gcj/convert.lo gnu/gcj/io.lo gnu/gcj/jvmti.lo \
- gnu/gcj/runtime.lo gnu/gcj/util.lo gnu/java/awt.lo \
- gnu/java/awt/color.lo gnu/java/awt/dnd.lo gnu/java/awt/font.lo \
+ gnu/classpath/jdwp/value.lo gnu/gcj.lo gnu/gcj/convert.lo \
+ gnu/gcj/io.lo gnu/gcj/jvmti.lo gnu/gcj/runtime.lo \
+ gnu/gcj/util.lo gnu/java/awt.lo gnu/java/awt/color.lo \
+ gnu/java/awt/dnd.lo gnu/java/awt/font.lo \
gnu/java/awt/font/autofit.lo gnu/java/awt/font/opentype.lo \
gnu/java/awt/font/opentype/truetype.lo gnu/java/awt/image.lo \
gnu/java/awt/java2d.lo gnu/java/awt/peer.lo \
classpath/gnu/classpath/jdwp/exception/InvalidLocationException.java \
classpath/gnu/classpath/jdwp/exception/InvalidMethodException.java \
classpath/gnu/classpath/jdwp/exception/InvalidObjectException.java \
+classpath/gnu/classpath/jdwp/exception/InvalidSlotException.java \
classpath/gnu/classpath/jdwp/exception/InvalidStringException.java \
+classpath/gnu/classpath/jdwp/exception/InvalidTagException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \
classpath/gnu/classpath/jdwp/exception/JdwpException.java \
classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \
classpath/gnu/classpath/jdwp/exception/NativeMethodException.java \
classpath/gnu/classpath/jdwp/exception/NotImplementedException.java \
+classpath/gnu/classpath/jdwp/exception/TypeMismatchException.java \
classpath/gnu/classpath/jdwp/exception/VmDeadException.java
gnu_classpath_jdwp_exception_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_exception_source_files)))
classpath/gnu/classpath/jdwp/id/ClassReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/JdwpId.java \
+classpath/gnu/classpath/jdwp/id/NullObjectId.java \
classpath/gnu/classpath/jdwp/id/ObjectId.java \
classpath/gnu/classpath/jdwp/id/ReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/StringId.java \
classpath/gnu/classpath/jdwp/util/LineTable.java \
classpath/gnu/classpath/jdwp/util/Location.java \
classpath/gnu/classpath/jdwp/util/MethodResult.java \
+classpath/gnu/classpath/jdwp/util/MonitorInfo.java \
+classpath/gnu/classpath/jdwp/util/NullObject.java \
classpath/gnu/classpath/jdwp/util/Signature.java \
classpath/gnu/classpath/jdwp/util/Value.java \
classpath/gnu/classpath/jdwp/util/VariableTable.java
gnu_classpath_jdwp_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_util_source_files)))
+gnu_classpath_jdwp_value_source_files = \
+classpath/gnu/classpath/jdwp/value/BooleanValue.java \
+classpath/gnu/classpath/jdwp/value/ByteValue.java \
+classpath/gnu/classpath/jdwp/value/CharValue.java \
+classpath/gnu/classpath/jdwp/value/DoubleValue.java \
+classpath/gnu/classpath/jdwp/value/FloatValue.java \
+classpath/gnu/classpath/jdwp/value/IntValue.java \
+classpath/gnu/classpath/jdwp/value/LongValue.java \
+classpath/gnu/classpath/jdwp/value/ObjectValue.java \
+classpath/gnu/classpath/jdwp/value/ShortValue.java \
+classpath/gnu/classpath/jdwp/value/StringValue.java \
+classpath/gnu/classpath/jdwp/value/Value.java \
+classpath/gnu/classpath/jdwp/value/ValueFactory.java \
+classpath/gnu/classpath/jdwp/value/VoidValue.java
+
+gnu_classpath_jdwp_value_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_value_source_files)))
gnu_gcj_source_files = \
gnu/gcj/Core.java \
gnu/gcj/RawData.java \
gnu/classpath/jdwp/processor.list \
gnu/classpath/jdwp/transport.list \
gnu/classpath/jdwp/util.list \
+ gnu/classpath/jdwp/value.list \
gnu/gcj.list \
gnu/gcj/convert.list \
gnu/gcj/io.list \
$(gnu_classpath_jdwp_processor_header_files) \
$(gnu_classpath_jdwp_transport_header_files) \
$(gnu_classpath_jdwp_util_header_files) \
+ $(gnu_classpath_jdwp_value_header_files) \
$(gnu_gcj_header_files) \
$(gnu_gcj_convert_header_files) \
$(gnu_gcj_io_header_files) \
-include gnu/classpath/jdwp/util.deps
+gnu/classpath/jdwp/value.list: $(gnu_classpath_jdwp_value_source_files)
+ @$(mkinstalldirs) $(dir $@)
+ echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/value/*.class > gnu/classpath/jdwp/value.list
+
+-include gnu/classpath/jdwp/value.deps
+
gnu/gcj.list: $(gnu_gcj_source_files)
@$(mkinstalldirs) $(dir $@)
echo $(srcdir)/classpath/lib/gnu/gcj/*.class > gnu/gcj.list
{
class Location;
}
+ namespace value
+ {
+ class Value;
+ }
}
}
}
public:
VMFrame(::java::lang::Thread *, jlong, ::gnu::classpath::jdwp::util::Location *);
virtual ::gnu::classpath::jdwp::util::Location * getLocation();
- virtual ::java::lang::Object * getValue(jint);
- virtual void setValue(jint, ::java::lang::Object *);
+ virtual ::gnu::classpath::jdwp::value::Value * getValue(jint, jbyte);
+ virtual void setValue(jint, ::gnu::classpath::jdwp::value::Value *);
virtual ::java::lang::Thread * getThread();
virtual ::java::lang::Object * getObject();
virtual jlong getId();
package gnu.classpath.jdwp;
import gnu.classpath.jdwp.util.Location;
+import gnu.classpath.jdwp.value.Value;
/**
* Reference implementation of VM hooks for JDWP Frame access.
*
* @param slot the slot containing the variable
*/
- public native Object getValue(int slot);
+ public native Value getValue(int slot, byte sig);
/**
* Assigns the given variable to the given value.
* @param slot The slot which contains the variable
* @param value The value to assign the variable to
*/
- public native void setValue(int slot, Object value);
+ public native void setValue(int slot, Value value);
/**
* Get the thread this frame is in.
namespace util
{
class MethodResult;
+ class MonitorInfo;
}
}
}
static void resumeThread(::java::lang::Thread *);
static void resumeAllThreads();
static jint getSuspendCount(::java::lang::Thread *);
- static jint getAllLoadedClassesCount();
- static ::java::util::Iterator * getAllLoadedClasses();
+ static ::java::util::Collection * getAllLoadedClasses();
static jint getClassStatus(::java::lang::Class *);
static JArray< ::gnu::classpath::jdwp::VMMethod * > * getAllClassMethods(::java::lang::Class *);
static ::gnu::classpath::jdwp::VMMethod * getClassMethod(::java::lang::Class *, jlong);
static void registerEvent(::gnu::classpath::jdwp::event::EventRequest *);
static void unregisterEvent(::gnu::classpath::jdwp::event::EventRequest *);
static void clearEvents(jbyte);
+ static void redefineClasses(JArray< ::java::lang::Class * > *, JArray< JArray< jbyte > * > *);
+ static void setDefaultStratum(::java::lang::String *);
+ static ::java::lang::String * getSourceDebugExtension(::java::lang::Class *);
+ static JArray< jbyte > * getBytecodes(::gnu::classpath::jdwp::VMMethod *);
+ static ::gnu::classpath::jdwp::util::MonitorInfo * getMonitorInfo(::java::lang::Object *);
+ static JArray< ::java::lang::Object * > * getOwnedMonitors(::java::lang::Thread *);
+ static ::java::lang::Object * getCurrentContendedMonitor(::java::lang::Thread *);
+ static void popFrames(::java::lang::Thread *, jlong);
+ static const jboolean canWatchFieldModification = 0;
+ static const jboolean canWatchFieldAccess = 0;
+ static const jboolean canGetBytecodes = 0;
+ static const jboolean canGetSyntheticAttribute = 0;
+ static const jboolean canGetOwnedMonitorInfo = 0;
+ static const jboolean canGetCurrentContendedMonitor = 0;
+ static const jboolean canGetMonitorInfo = 0;
+ static const jboolean canRedefineClasses = 0;
+ static const jboolean canAddMethod = 0;
+ static const jboolean canUnrestrictedlyRedefineClasses = 0;
+ static const jboolean canPopFrames = 0;
+ static const jboolean canUseInstanceFilters = 0;
+ static const jboolean canGetSourceDebugExtension = 0;
+ static const jboolean canRequestVMDeathEvent = 0;
+ static const jboolean canSetDefaultStratum = 0;
private:
static ::java::util::Hashtable * _jdwp_suspend_counts;
public: // actually package-private
import gnu.classpath.jdwp.exception.InvalidMethodException;
import gnu.classpath.jdwp.exception.JdwpException;
import gnu.classpath.jdwp.util.MethodResult;
+import gnu.classpath.jdwp.util.MonitorInfo;
+
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Hashtable;
-import java.util.Iterator;
/**
* A virtual machine according to JDWP.
*/
public class VMVirtualMachine
{
+ // VM Capabilities
+ public static final boolean canWatchFieldModification = false;
+ public static final boolean canWatchFieldAccess = false;
+ public static final boolean canGetBytecodes = false;
+ public static final boolean canGetSyntheticAttribute = false;
+ public static final boolean canGetOwnedMonitorInfo = false;
+ public static final boolean canGetCurrentContendedMonitor = false;
+ public static final boolean canGetMonitorInfo = false;
+ public static final boolean canRedefineClasses = false;
+ public static final boolean canAddMethod = false;
+ public static final boolean canUnrestrictedlyRedefineClasses = false;
+ public static final boolean canPopFrames = false;
+ public static final boolean canUseInstanceFilters = false;
+ public static final boolean canGetSourceDebugExtension = false;
+ public static final boolean canRequestVMDeathEvent = false;
+ public static final boolean canSetDefaultStratum = false;
+
// Thread suspension table. Maps Thread to suspend count (Integer)
private static Hashtable _jdwp_suspend_counts;
throws JdwpException;
/**
- * Returns a count of the number of loaded classes in the VM
- */
- public static native int getAllLoadedClassesCount ()
- throws JdwpException;
-
- /**
- * Returns an iterator over all the loaded classes in the VM
+ * Returns a Collection of all classes loaded in the VM
*/
- public static native Iterator getAllLoadedClasses ()
+ public static native Collection getAllLoadedClasses ()
throws JdwpException;
/**
*/
public static native void clearEvents (byte kind)
throws JdwpException;
+
+ /**
+ * Redefines the given types. VM must support canRedefineClasses
+ * capability (may also require canAddMethod and/or
+ * canUnrestrictedlyRedefineClasses capabilities)
+ *
+ * @param types the classes to redefine
+ * @param bytecodes the new bytecode definitions for the classes
+ */
+ public static native void redefineClasses(Class[] types, byte[][] bytecodes)
+ throws JdwpException;
+
+ /**
+ * Sets the default stratum. VM must support the
+ * canSetDefaultStratum capability.
+ *
+ * @param stratum the new default stratum or empty string to
+ * use the reference default
+ */
+ public static native void setDefaultStratum(String stratum)
+ throws JdwpException;
+
+ /**
+ * Returns the source debug extension. VM must support the
+ * canGetSourceDebugExtension capability.
+ *
+ * @param klass the class for which to return information
+ * @returns the source debug extension
+ */
+ public static native String getSourceDebugExtension(Class klass)
+ throws JdwpException;
+
+ /**
+ * Returns the bytecode for the given method. VM must support the
+ * canGetBytecodes capability.
+ *
+ * @param method the method for which to get bytecodes
+ * @returns the bytecodes
+ */
+ public static native byte[] getBytecodes(VMMethod method)
+ throws JdwpException;
+
+ /**
+ * Returns monitor information about an object. VM must support
+ * the canGetMonitorInformation capability.
+ *
+ * @param obj the object
+ * @returns monitor information (owner, entry count, waiters)
+ */
+ public static native MonitorInfo getMonitorInfo(Object obj)
+ throws JdwpException;
+
+ /**
+ * Returns a list of owned monitors. VM must support the
+ * canGetOwnedMonitorInfo capability.
+ *
+ * @param thread a thread
+ * @returns the list of monitors owned by this thread
+ */
+ public static native Object[] getOwnedMonitors(Thread thread)
+ throws JdwpException;
+
+ /**
+ * Returns the current contended monitor for a thread. VM must
+ * support canGetCurrentContendedMonitor capability.
+ *
+ * @param thread the thread
+ * @returns the contended monitor
+ */
+ public static native Object getCurrentContendedMonitor(Thread thread)
+ throws JdwpException;
+
+ /**
+ * Pop all frames up to and including the given frame. VM must
+ * support canPopFrames capability. It is the responsibility
+ * of the VM to check if the thread is suspended. If it is not,
+ * the VM should throw ThreadNotSuspendedException.
+ *
+ * @param thread the thread
+ * @param frame the frame ID
+ */
+ public static native void popFrames(Thread thread, long frameId);
}
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_exception_InvalidSlotException__
+#define __gnu_classpath_jdwp_exception_InvalidSlotException__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/exception/JdwpException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace exception
+ {
+ class InvalidSlotException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::exception::InvalidSlotException : public ::gnu::classpath::jdwp::exception::JdwpException
+{
+
+public:
+ InvalidSlotException(jint);
+ InvalidSlotException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_exception_InvalidSlotException__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_exception_InvalidTagException__
+#define __gnu_classpath_jdwp_exception_InvalidTagException__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/exception/JdwpException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace exception
+ {
+ class InvalidTagException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::exception::InvalidTagException : public ::gnu::classpath::jdwp::exception::JdwpException
+{
+
+public:
+ InvalidTagException(jbyte);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_exception_InvalidTagException__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_exception_TypeMismatchException__
+#define __gnu_classpath_jdwp_exception_TypeMismatchException__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/exception/JdwpException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace exception
+ {
+ class TypeMismatchException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::exception::TypeMismatchException : public ::gnu::classpath::jdwp::exception::JdwpException
+{
+
+public:
+ TypeMismatchException(jbyte);
+ TypeMismatchException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_exception_TypeMismatchException__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_id_NullObjectId__
+#define __gnu_classpath_jdwp_id_NullObjectId__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/id/ObjectId.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace id
+ {
+ class NullObjectId;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::id::NullObjectId : public ::gnu::classpath::jdwp::id::ObjectId
+{
+
+public:
+ NullObjectId();
+ static ::java::lang::Class * typeClass;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_id_NullObjectId__
#include <jvm.h>
#include <gnu/classpath/jdwp/VMFrame.h>
+#include <gnu/classpath/jdwp/value/Value.h>
using namespace java::lang;
-Object*
-gnu::classpath::jdwp::VMFrame::getValue (MAYBE_UNUSED jint slot)
+gnu::classpath::jdwp::value::Value *
+gnu::classpath::jdwp::VMFrame::getValue (MAYBE_UNUSED jint slot,
+ MAYBE_UNUSED jbyte tag)
{
return 0;
}
void
gnu::classpath::jdwp::VMFrame::setValue (MAYBE_UNUSED jint slot,
- MAYBE_UNUSED Object* value)
+ MAYBE_UNUSED gnu::classpath::jdwp::value::Value *value)
{
}
_stepping_threads = new ::java::util::Hashtable ();
JavaVM *vm = _Jv_GetJavaVM ();
- vm->GetEnv (reinterpret_cast<void **> (&_jdwp_jvmtiEnv), JVMTI_VERSION_1_0);
+ union
+ {
+ void *ptr;
+ jvmtiEnv *env;
+ } foo;
+ vm->GetEnv (&(foo.ptr), JVMTI_VERSION_1_0);
+ _jdwp_jvmtiEnv = foo.env;
// Wait for VM_INIT to do more initialization
jvmtiEventCallbacks callbacks;
{
}
-jint
-gnu::classpath::jdwp::VMVirtualMachine::getAllLoadedClassesCount (void)
-{
- return 0;
-}
-
-java::util::Iterator *
+java::util::Collection *
gnu::classpath::jdwp::VMVirtualMachine::getAllLoadedClasses (void)
{
- return NULL;
+ using namespace ::java::util;
+ return (Collection *) new ArrayList ();
}
jint
gnu::classpath::jdwp::VMVirtualMachine::
getLoadRequests (MAYBE_UNUSED ClassLoader *cl)
{
- return NULL;
+ return new ::java::util::ArrayList ();
}
MethodResult *
return _Jv_GetInterpClassSourceFile (clazz);
}
+void
+gnu::classpath::jdwp::VMVirtualMachine::
+redefineClasses (MAYBE_UNUSED JArray<jclass> *types,
+ MAYBE_UNUSED JArray<jbyteArray> *bytecodes)
+{
+}
+
+void
+gnu::classpath::jdwp::VMVirtualMachine::
+setDefaultStratum (MAYBE_UNUSED jstring stratum)
+{
+}
+
+jstring
+gnu::classpath::jdwp::VMVirtualMachine::
+getSourceDebugExtension (MAYBE_UNUSED jclass klass)
+{
+ return NULL;
+}
+
+jbyteArray
+gnu::classpath::jdwp::VMVirtualMachine::
+getBytecodes (MAYBE_UNUSED gnu::classpath::jdwp::VMMethod *method)
+{
+ return NULL;
+}
+
+gnu::classpath::jdwp::util::MonitorInfo *
+gnu::classpath::jdwp::VMVirtualMachine::
+getMonitorInfo (MAYBE_UNUSED jobject obj)
+{
+ return NULL;
+}
+
+jobjectArray
+gnu::classpath::jdwp::VMVirtualMachine::
+getOwnedMonitors (MAYBE_UNUSED ::java::lang::Thread *thread)
+{
+ return NULL;
+}
+
+jobject
+gnu::classpath::jdwp::VMVirtualMachine::
+getCurrentContendedMonitor (MAYBE_UNUSED ::java::lang::Thread *thread)
+{
+ return NULL;
+}
+
+void
+gnu::classpath::jdwp::VMVirtualMachine::
+popFrames (MAYBE_UNUSED ::java::lang::Thread *thread,
+ MAYBE_UNUSED jlong frameId)
+{
+}
+
// A simple caching function used while single-stepping
static jvmtiError
get_linetable (jvmtiEnv *env, jmethodID method, jint *count_ptr,
virtual void setReturnedValue(::java::lang::Object *);
virtual ::java::lang::Exception * getThrownException();
virtual void setThrownException(::java::lang::Exception *);
+ virtual ::java::lang::Class * getResultType();
+ virtual void setResultType(::java::lang::Class *);
private:
::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) returnedValue;
::java::lang::Exception * thrownException;
+ ::java::lang::Class * resType;
public:
static ::java::lang::Class class$;
};
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_util_MonitorInfo__
+#define __gnu_classpath_jdwp_util_MonitorInfo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace util
+ {
+ class MonitorInfo;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::util::MonitorInfo : public ::java::lang::Object
+{
+
+public:
+ MonitorInfo();
+ virtual void write(::java::io::DataOutputStream *);
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) entryCount;
+ ::java::lang::Thread * owner;
+ JArray< ::java::lang::Thread * > * waiters;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_util_MonitorInfo__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_util_NullObject__
+#define __gnu_classpath_jdwp_util_NullObject__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace util
+ {
+ class NullObject;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::util::NullObject : public ::java::lang::Object
+{
+
+public:
+ NullObject();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_util_NullObject__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_BooleanValue__
+#define __gnu_classpath_jdwp_value_BooleanValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class BooleanValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::BooleanValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ BooleanValue(jboolean);
+ jboolean getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jboolean __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_BooleanValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_ByteValue__
+#define __gnu_classpath_jdwp_value_ByteValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class ByteValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::ByteValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ ByteValue(jbyte);
+ jbyte getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jbyte __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_ByteValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_CharValue__
+#define __gnu_classpath_jdwp_value_CharValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class CharValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::CharValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ CharValue(jchar);
+ jchar getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jchar __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_CharValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_DoubleValue__
+#define __gnu_classpath_jdwp_value_DoubleValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class DoubleValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::DoubleValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ DoubleValue(jdouble);
+ jdouble getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jdouble __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_DoubleValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_FloatValue__
+#define __gnu_classpath_jdwp_value_FloatValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class FloatValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::FloatValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ FloatValue(jfloat);
+ jfloat getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jfloat __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_FloatValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_IntValue__
+#define __gnu_classpath_jdwp_value_IntValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class IntValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::IntValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ IntValue(jint);
+ jint getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_IntValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_LongValue__
+#define __gnu_classpath_jdwp_value_LongValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class LongValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::LongValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ LongValue(jlong);
+ jlong getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jlong __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_LongValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_ObjectValue__
+#define __gnu_classpath_jdwp_value_ObjectValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class ObjectValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::ObjectValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ ObjectValue(::java::lang::Object *);
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_ObjectValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_ShortValue__
+#define __gnu_classpath_jdwp_value_ShortValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class ShortValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::ShortValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ ShortValue(jshort);
+ jshort getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ jshort __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_ShortValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_StringValue__
+#define __gnu_classpath_jdwp_value_StringValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class StringValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::StringValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ StringValue(::java::lang::String *);
+ ::java::lang::String * getValue();
+public: // actually protected
+ ::java::lang::Object * getObject();
+ void write(::java::io::DataOutputStream *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::value::Value)))) _value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_StringValue__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_Value__
+#define __gnu_classpath_jdwp_value_Value__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class Value;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::Value : public ::java::lang::Object
+{
+
+public: // actually protected
+ Value(jbyte);
+public:
+ virtual jbyte getTag();
+ virtual void writeUntagged(::java::io::DataOutputStream *);
+ virtual void writeTagged(::java::io::DataOutputStream *);
+public: // actually protected
+ virtual void write(::java::io::DataOutputStream *) = 0;
+ virtual ::java::lang::Object * getObject() = 0;
+public:
+ static ::java::lang::Object * getUntaggedObject(::java::nio::ByteBuffer *, ::java::lang::Class *);
+ static ::java::lang::Object * getTaggedObject(::java::nio::ByteBuffer *);
+private:
+ jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) _tag;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_Value__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_ValueFactory__
+#define __gnu_classpath_jdwp_value_ValueFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class Value;
+ class ValueFactory;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::ValueFactory : public ::java::lang::Object
+{
+
+public:
+ ValueFactory();
+ static ::gnu::classpath::jdwp::value::Value * createFromTagged(::java::nio::ByteBuffer *);
+ static ::gnu::classpath::jdwp::value::Value * createFromUntagged(::java::nio::ByteBuffer *, ::java::lang::Class *);
+private:
+ static ::gnu::classpath::jdwp::value::Value * create(::java::nio::ByteBuffer *, jbyte);
+ static jbyte getTagForClass(::java::lang::Class *);
+public:
+ static ::gnu::classpath::jdwp::value::Value * createFromObject(::java::lang::Object *, ::java::lang::Class *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_ValueFactory__
--- /dev/null
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_classpath_jdwp_value_VoidValue__
+#define __gnu_classpath_jdwp_value_VoidValue__
+
+#pragma interface
+
+#include <gnu/classpath/jdwp/value/Value.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ namespace jdwp
+ {
+ namespace value
+ {
+ class VoidValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::classpath::jdwp::value::VoidValue : public ::gnu::classpath::jdwp::value::Value
+{
+
+public:
+ VoidValue();
+public: // actually protected
+ virtual ::java::lang::Object * getObject();
+ virtual void write(::java::io::DataOutputStream *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_classpath_jdwp_value_VoidValue__
classpath/gnu/classpath/jdwp/exception/InvalidLocationException.java \
classpath/gnu/classpath/jdwp/exception/InvalidMethodException.java \
classpath/gnu/classpath/jdwp/exception/InvalidObjectException.java \
+classpath/gnu/classpath/jdwp/exception/InvalidSlotException.java \
classpath/gnu/classpath/jdwp/exception/InvalidStringException.java \
+classpath/gnu/classpath/jdwp/exception/InvalidTagException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadException.java \
classpath/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \
classpath/gnu/classpath/jdwp/exception/JdwpException.java \
classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \
classpath/gnu/classpath/jdwp/exception/NativeMethodException.java \
classpath/gnu/classpath/jdwp/exception/NotImplementedException.java \
+classpath/gnu/classpath/jdwp/exception/TypeMismatchException.java \
classpath/gnu/classpath/jdwp/exception/VmDeadException.java
gnu_classpath_jdwp_exception_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_exception_source_files)))
classpath/gnu/classpath/jdwp/id/ClassReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/JdwpId.java \
+classpath/gnu/classpath/jdwp/id/NullObjectId.java \
classpath/gnu/classpath/jdwp/id/ObjectId.java \
classpath/gnu/classpath/jdwp/id/ReferenceTypeId.java \
classpath/gnu/classpath/jdwp/id/StringId.java \
classpath/gnu/classpath/jdwp/util/LineTable.java \
classpath/gnu/classpath/jdwp/util/Location.java \
classpath/gnu/classpath/jdwp/util/MethodResult.java \
+classpath/gnu/classpath/jdwp/util/MonitorInfo.java \
+classpath/gnu/classpath/jdwp/util/NullObject.java \
classpath/gnu/classpath/jdwp/util/Signature.java \
classpath/gnu/classpath/jdwp/util/Value.java \
classpath/gnu/classpath/jdwp/util/VariableTable.java
-include gnu/classpath/jdwp/util.deps
+gnu_classpath_jdwp_value_source_files = \
+classpath/gnu/classpath/jdwp/value/BooleanValue.java \
+classpath/gnu/classpath/jdwp/value/ByteValue.java \
+classpath/gnu/classpath/jdwp/value/CharValue.java \
+classpath/gnu/classpath/jdwp/value/DoubleValue.java \
+classpath/gnu/classpath/jdwp/value/FloatValue.java \
+classpath/gnu/classpath/jdwp/value/IntValue.java \
+classpath/gnu/classpath/jdwp/value/LongValue.java \
+classpath/gnu/classpath/jdwp/value/ObjectValue.java \
+classpath/gnu/classpath/jdwp/value/ShortValue.java \
+classpath/gnu/classpath/jdwp/value/StringValue.java \
+classpath/gnu/classpath/jdwp/value/Value.java \
+classpath/gnu/classpath/jdwp/value/ValueFactory.java \
+classpath/gnu/classpath/jdwp/value/VoidValue.java
+
+gnu_classpath_jdwp_value_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_value_source_files)))
+
+gnu/classpath/jdwp/value.list: $(gnu_classpath_jdwp_value_source_files)
+ @$(mkinstalldirs) $(dir $@)
+ echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/value/*.class > gnu/classpath/jdwp/value.list
+
+-include gnu/classpath/jdwp/value.deps
+
+
gnu_gcj_source_files = \
gnu/gcj/Core.java \
gnu/gcj/RawData.java \
gnu/classpath/jdwp/processor.list \
gnu/classpath/jdwp/transport.list \
gnu/classpath/jdwp/util.list \
+ gnu/classpath/jdwp/value.list \
gnu/gcj.list \
gnu/gcj/convert.list \
gnu/gcj/io.list \
$(gnu_classpath_jdwp_processor_header_files) \
$(gnu_classpath_jdwp_transport_header_files) \
$(gnu_classpath_jdwp_util_header_files) \
+ $(gnu_classpath_jdwp_value_header_files) \
$(gnu_gcj_header_files) \
$(gnu_gcj_convert_header_files) \
$(gnu_gcj_io_header_files) \