aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/natObjectInputStream.cc
diff options
context:
space:
mode:
authorWarren Levy <warrenl@cygnus.com>2000-11-03 08:04:33 +0000
committerWarren Levy <warrenl@gcc.gnu.org>2000-11-03 08:04:33 +0000
commita53785f90e37e767cd96210da2f7c73ad8621d37 (patch)
treec6e8c834e2c535007905e93116b1ce98ae2be3c6 /libjava/java/io/natObjectInputStream.cc
parent6678181b3c0196dc782aec1bbf16182cd92c0257 (diff)
downloadgcc-a53785f90e37e767cd96210da2f7c73ad8621d37.zip
gcc-a53785f90e37e767cd96210da2f7c73ad8621d37.tar.gz
gcc-a53785f90e37e767cd96210da2f7c73ad8621d37.tar.bz2
ObjectInputStream.java (readObject): Added code to conditionally dump out the serialized data.
* java/io/ObjectInputStream.java (readObject): Added code to conditionally dump out the serialized data. Handle ENDBLOCKDATA case a bit more gracefully since the current behavior doesn't seem to work as expected. (readStreamHeader): Added code for serialized data dumper. (readNextBlock): Ditto. (readFields): Ditto. (dump): New private static field for turning on/off dumper. (setDump): New native method. (dumpElement): New native method. (dumpElementln): New native method. * java/io/natObjectInputStream.cc (setDump): New method. (dumpElement): New method. (dumpElementln): New method. Serialization dumper. Enable by configuring with --enable-libgcj-debug and calling java.io.ObjectInputStream.setDump(true) in your test program. The output will be generated as the object is deserialized (i.e. the readObject() method is executed). From-SVN: r37223
Diffstat (limited to 'libjava/java/io/natObjectInputStream.cc')
-rw-r--r--libjava/java/io/natObjectInputStream.cc41
1 files changed, 41 insertions, 0 deletions
diff --git a/libjava/java/io/natObjectInputStream.cc b/libjava/java/io/natObjectInputStream.cc
index 8b5151d..ac72ecf 100644
--- a/libjava/java/io/natObjectInputStream.cc
+++ b/libjava/java/io/natObjectInputStream.cc
@@ -20,6 +20,11 @@ details. */
#include <java/lang/reflect/Modifier.h>
#include <java/lang/reflect/Method.h>
+#ifdef DEBUG
+#include <java/lang/System.h>
+#include <java/io/PrintStream.h>
+#endif
+
jobject
java::io::ObjectInputStream::allocateObject (jclass klass)
{
@@ -74,3 +79,39 @@ java::io::ObjectInputStream::getMethod (jclass klass, jstring name,
return klass->getPrivateMethod (name, arg_types);
}
+#ifdef DEBUG
+void
+java::io::ObjectInputStream::setDump (jboolean dump)
+{
+ java::io::ObjectInputStream::dump = dump;
+}
+
+void
+java::io::ObjectInputStream::dumpElement (jstring msg)
+{
+ if (dump)
+ java::lang::System::out->print (msg);
+}
+
+void
+java::io::ObjectInputStream::dumpElementln (jstring msg)
+{
+ if (dump)
+ java::lang::System::out->println (msg);
+}
+#else
+void
+java::io::ObjectInputStream::setDump (jboolean dump)
+{
+}
+
+void
+java::io::ObjectInputStream::dumpElement (jstring msg)
+{
+}
+
+void
+java::io::ObjectInputStream::dumpElementln (jstring msg)
+{
+}
+#endif