aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorKyle Galloway <kgallowa@redhat.com>2007-04-25 19:46:45 +0000
committerKyle Galloway <kgallowa@gcc.gnu.org>2007-04-25 19:46:45 +0000
commit9f8b807381bf3e75c0b5b59e706cecdd0c4481ce (patch)
treeffe85bebe1030d3b4308652145f6fee26447e801 /libjava
parentaa86a51b89bb62b088d3c83007779d6baf00ae44 (diff)
downloadgcc-9f8b807381bf3e75c0b5b59e706cecdd0c4481ce.zip
gcc-9f8b807381bf3e75c0b5b59e706cecdd0c4481ce.tar.gz
gcc-9f8b807381bf3e75c0b5b59e706cecdd0c4481ce.tar.bz2
VMIdManager.java (getObjectId): Deal with null objects.
2007-04-25 Kyle Galloway <kgallowa@redhat.com> * gnu/classpath/jdwp/VMIdManager.java (getObjectId): Deal with null objects. (get): Deal with ObjectId of 0. From-SVN: r124164
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/gnu/classpath/jdwp/VMIdManager.java10
2 files changed, 15 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 6c0fd9e..f012fe7 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-25 Kyle Galloway <kgallowa@redhat.com>
+
+ * gnu/classpath/jdwp/VMIdManager.java (getObjectId): Deal with null
+ objects.
+ (get): Deal with ObjectId of 0.
+
2007-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR libgcj/31084
diff --git a/libjava/gnu/classpath/jdwp/VMIdManager.java b/libjava/gnu/classpath/jdwp/VMIdManager.java
index 8d423e9..f787a8c 100644
--- a/libjava/gnu/classpath/jdwp/VMIdManager.java
+++ b/libjava/gnu/classpath/jdwp/VMIdManager.java
@@ -1,7 +1,7 @@
/* VMIdManager.java -- A reference/example implementation of a manager for
JDWP object/reference type IDs
- Copyright (C) 2005, 2006 Free Software Foundation
+ Copyright (C) 2005, 2006, 2007 Free Software Foundation
This file is part of GNU Classpath.
@@ -337,6 +337,10 @@ public class VMIdManager
*/
public ObjectId getObjectId (Object theObject)
{
+ // Special case: null object.
+ if (theObject == null)
+ return new NullObjectId ();
+
ReferenceKey ref = new ReferenceKey (theObject, _refQueue);
ObjectId id = (ObjectId) _oidTable.get (ref);
if (id == null)
@@ -364,6 +368,10 @@ public class VMIdManager
public ObjectId get (long id)
throws InvalidObjectException
{
+ // Special case: null object id.
+ if (id == 0)
+ return new NullObjectId ();
+
ObjectId oid = (ObjectId) _idTable.get (new Long (id));
if (oid == null)
throw new InvalidObjectException (id);