diff options
author | Kyle Galloway <kgallowa@redhat.com> | 2007-04-25 19:46:45 +0000 |
---|---|---|
committer | Kyle Galloway <kgallowa@gcc.gnu.org> | 2007-04-25 19:46:45 +0000 |
commit | 9f8b807381bf3e75c0b5b59e706cecdd0c4481ce (patch) | |
tree | ffe85bebe1030d3b4308652145f6fee26447e801 /libjava/gnu | |
parent | aa86a51b89bb62b088d3c83007779d6baf00ae44 (diff) | |
download | gcc-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/gnu')
-rw-r--r-- | libjava/gnu/classpath/jdwp/VMIdManager.java | 10 |
1 files changed, 9 insertions, 1 deletions
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); |