diff options
author | Warren Levy <warrenl@cygnus.com> | 2000-11-03 08:04:33 +0000 |
---|---|---|
committer | Warren Levy <warrenl@gcc.gnu.org> | 2000-11-03 08:04:33 +0000 |
commit | a53785f90e37e767cd96210da2f7c73ad8621d37 (patch) | |
tree | c6e8c834e2c535007905e93116b1ce98ae2be3c6 /libjava/java/io/natObjectInputStream.cc | |
parent | 6678181b3c0196dc782aec1bbf16182cd92c0257 (diff) | |
download | gcc-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.cc | 41 |
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 |