* gnu/classpath/jdwp/VMFrame.java: Update from upstream
authorkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Mar 2007 18:42:49 +0000 (18:42 +0000)
committerkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Mar 2007 18:42:49 +0000 (18:42 +0000)
        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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123266 138bc75d-0d04-0410-961f-82ee72b054a4

29 files changed:
libjava/ChangeLog
libjava/Makefile.in
libjava/gnu/classpath/jdwp/VMFrame.h
libjava/gnu/classpath/jdwp/VMFrame.java
libjava/gnu/classpath/jdwp/VMVirtualMachine.h
libjava/gnu/classpath/jdwp/VMVirtualMachine.java
libjava/gnu/classpath/jdwp/exception/InvalidSlotException.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/exception/InvalidTagException.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/exception/TypeMismatchException.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/id/NullObjectId.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/natVMFrame.cc
libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc
libjava/gnu/classpath/jdwp/util/MethodResult.h
libjava/gnu/classpath/jdwp/util/MonitorInfo.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/util/NullObject.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/BooleanValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/ByteValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/CharValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/DoubleValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/FloatValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/IntValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/LongValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/ObjectValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/ShortValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/StringValue.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/Value.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/ValueFactory.h [new file with mode: 0644]
libjava/gnu/classpath/jdwp/value/VoidValue.h [new file with mode: 0644]
libjava/sources.am

index 7af3c28..8c7e946 100644 (file)
@@ -1,3 +1,38 @@
+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,
index 1dad788..a7ed11b 100644 (file)
@@ -159,9 +159,10 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
        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 \
@@ -1218,7 +1219,9 @@ classpath/gnu/classpath/jdwp/exception/InvalidFrameException.java \
 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 \
@@ -1226,6 +1229,7 @@ classpath/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.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)))
@@ -1237,6 +1241,7 @@ classpath/gnu/classpath/jdwp/id/ClassObjectId.java \
 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 \
@@ -1281,11 +1286,29 @@ classpath/gnu/classpath/jdwp/util/JdwpString.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 \
@@ -7225,6 +7248,7 @@ all_packages_source_files = \
   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 \
@@ -7474,6 +7498,7 @@ ordinary_header_files = \
   $(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) \
@@ -10083,6 +10108,12 @@ gnu/classpath/jdwp/util.list: $(gnu_classpath_jdwp_util_source_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
index 8bc7ac6..0108e7b 100644 (file)
@@ -20,6 +20,10 @@ extern "Java"
         {
             class Location;
         }
+        namespace value
+        {
+            class Value;
+        }
       }
     }
   }
@@ -31,8 +35,8 @@ class gnu::classpath::jdwp::VMFrame : public ::java::lang::Object
 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();
index e0f093f..4b144af 100644 (file)
@@ -40,6 +40,7 @@ exception statement from your version. */
 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.
@@ -93,14 +94,14 @@ public class VMFrame
    * 
    * @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.
index 421f46a..dd31694 100644 (file)
@@ -27,6 +27,7 @@ extern "Java"
         namespace util
         {
             class MethodResult;
+            class MonitorInfo;
         }
       }
     }
@@ -44,8 +45,7 @@ public:
   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);
@@ -59,6 +59,29 @@ public:
   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
index da0fef2..a1249d1 100644 (file)
@@ -45,11 +45,13 @@ import gnu.classpath.jdwp.event.EventRequest;
 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.
@@ -58,6 +60,23 @@ import java.util.Iterator;
  */
 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;
 
@@ -179,15 +198,9 @@ public class VMVirtualMachine
     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;
 
   /**
@@ -335,4 +348,86 @@ public class VMVirtualMachine
    */
   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);
 }
diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidSlotException.h b/libjava/gnu/classpath/jdwp/exception/InvalidSlotException.h
new file mode 100644 (file)
index 0000000..4582dac
--- /dev/null
@@ -0,0 +1,36 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidTagException.h b/libjava/gnu/classpath/jdwp/exception/InvalidTagException.h
new file mode 100644 (file)
index 0000000..f7f0f1e
--- /dev/null
@@ -0,0 +1,35 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/exception/TypeMismatchException.h b/libjava/gnu/classpath/jdwp/exception/TypeMismatchException.h
new file mode 100644 (file)
index 0000000..701bf6e
--- /dev/null
@@ -0,0 +1,36 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/id/NullObjectId.h b/libjava/gnu/classpath/jdwp/id/NullObjectId.h
new file mode 100644 (file)
index 0000000..6231783
--- /dev/null
@@ -0,0 +1,36 @@
+
+// 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__
index 0c00852..894791c 100644 (file)
@@ -12,17 +12,19 @@ details. */
 #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)
 {
 }
index 2229a45..73b21ee 100644 (file)
@@ -111,7 +111,13 @@ gnu::classpath::jdwp::VMVirtualMachine::initialize ()
   _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;
@@ -439,16 +445,11 @@ gnu::classpath::jdwp::VMVirtualMachine::clearEvents (MAYBE_UNUSED jbyte kind)
 {
 }
 
-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
@@ -629,7 +630,7 @@ java::util::ArrayList *
 gnu::classpath::jdwp::VMVirtualMachine::
 getLoadRequests (MAYBE_UNUSED ClassLoader *cl)
 {
-  return NULL;
+  return new ::java::util::ArrayList ();
 }
 
 MethodResult *
@@ -649,6 +650,61 @@ getSourceFile (jclass clazz)
   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,
index c83d2c1..3084467 100644 (file)
@@ -33,9 +33,12 @@ public:
   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$;
 };
diff --git a/libjava/gnu/classpath/jdwp/util/MonitorInfo.h b/libjava/gnu/classpath/jdwp/util/MonitorInfo.h
new file mode 100644 (file)
index 0000000..8b7d65f
--- /dev/null
@@ -0,0 +1,41 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/util/NullObject.h b/libjava/gnu/classpath/jdwp/util/NullObject.h
new file mode 100644 (file)
index 0000000..c071e0a
--- /dev/null
@@ -0,0 +1,35 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/BooleanValue.h b/libjava/gnu/classpath/jdwp/value/BooleanValue.h
new file mode 100644 (file)
index 0000000..57fa16c
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/ByteValue.h b/libjava/gnu/classpath/jdwp/value/ByteValue.h
new file mode 100644 (file)
index 0000000..6fa45ac
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/CharValue.h b/libjava/gnu/classpath/jdwp/value/CharValue.h
new file mode 100644 (file)
index 0000000..2f87f77
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/DoubleValue.h b/libjava/gnu/classpath/jdwp/value/DoubleValue.h
new file mode 100644 (file)
index 0000000..c68e683
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/FloatValue.h b/libjava/gnu/classpath/jdwp/value/FloatValue.h
new file mode 100644 (file)
index 0000000..d8917b9
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/IntValue.h b/libjava/gnu/classpath/jdwp/value/IntValue.h
new file mode 100644 (file)
index 0000000..0d09aff
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/LongValue.h b/libjava/gnu/classpath/jdwp/value/LongValue.h
new file mode 100644 (file)
index 0000000..8416558
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/ObjectValue.h b/libjava/gnu/classpath/jdwp/value/ObjectValue.h
new file mode 100644 (file)
index 0000000..8282945
--- /dev/null
@@ -0,0 +1,41 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/ShortValue.h b/libjava/gnu/classpath/jdwp/value/ShortValue.h
new file mode 100644 (file)
index 0000000..124d781
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/StringValue.h b/libjava/gnu/classpath/jdwp/value/StringValue.h
new file mode 100644 (file)
index 0000000..dc8e52f
--- /dev/null
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/Value.h b/libjava/gnu/classpath/jdwp/value/Value.h
new file mode 100644 (file)
index 0000000..8ab3d54
--- /dev/null
@@ -0,0 +1,55 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/ValueFactory.h b/libjava/gnu/classpath/jdwp/value/ValueFactory.h
new file mode 100644 (file)
index 0000000..316d5d0
--- /dev/null
@@ -0,0 +1,50 @@
+
+// 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__
diff --git a/libjava/gnu/classpath/jdwp/value/VoidValue.h b/libjava/gnu/classpath/jdwp/value/VoidValue.h
new file mode 100644 (file)
index 0000000..48a7277
--- /dev/null
@@ -0,0 +1,39 @@
+
+// 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__
index 713e4e7..75272d7 100644 (file)
@@ -336,7 +336,9 @@ classpath/gnu/classpath/jdwp/exception/InvalidFrameException.java \
 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 \
@@ -344,6 +346,7 @@ classpath/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.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)))
@@ -363,6 +366,7 @@ classpath/gnu/classpath/jdwp/id/ClassObjectId.java \
 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 \
@@ -431,6 +435,8 @@ classpath/gnu/classpath/jdwp/util/JdwpString.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
@@ -444,6 +450,30 @@ gnu/classpath/jdwp/util.list: $(gnu_classpath_jdwp_util_source_files)
 -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 \
@@ -8437,6 +8467,7 @@ all_packages_source_files = \
   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 \
@@ -8686,6 +8717,7 @@ ordinary_header_files = \
   $(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) \