diff options
author | Keith Seitz <keiths@redhat.com> | 2007-04-27 21:01:04 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2007-04-27 21:01:04 +0000 |
commit | 09c26268ade017ae4787238e69abae72ad78c080 (patch) | |
tree | 360ede08b361ab9ea0b00ced3f97d12f212e8e54 | |
parent | 9e9c52b9d14bfef034059b61de1f63ad4511ee5a (diff) | |
download | classpath-09c26268ade017ae4787238e69abae72ad78c080.tar.gz |
* gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java
(matches): Use Location.equals to determine equality.
* vm/reference/gnu/classpath/jdwp/VMMethod.java (equals):
New method.
* gnu/classpath/jdwp/util/Location.java (equals):
New method.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java | 18 | ||||
-rw-r--r-- | gnu/classpath/jdwp/util/Location.java | 14 | ||||
-rw-r--r-- | vm/reference/gnu/classpath/jdwp/VMMethod.java | 13 |
4 files changed, 41 insertions, 13 deletions
@@ -1,3 +1,12 @@ +2007-04-27 Keith Seitz <keiths@redhat.com> + + * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java + (matches): Use Location.equals to determine equality. + * vm/reference/gnu/classpath/jdwp/VMMethod.java (equals): + New method. + * gnu/classpath/jdwp/util/Location.java (equals): + New method. + 2007-04-27 Roman Kennke <roman@kennke.org> * java/nio/CharViewBufferImpl.java diff --git a/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java b/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java index 7190317a4..a3125371c 100644 --- a/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java +++ b/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java @@ -1,5 +1,5 @@ /* LocationOnlyFilter.java -- filter on location - Copyright (C) 2005, 2006 Free Software Foundation + Copyright (C) 2005, 2006, 2007 Free Software Foundation This file is part of GNU Classpath. @@ -49,13 +49,6 @@ import gnu.classpath.jdwp.util.Location; * May be used with breakpoint, field access, field modification, step, * and exception event kinds. * - * This "filter" is not really a filter. It is simply a way to communicate - * location information for supported events in a generic way to ease - * the burden of special casing several things in - * EventReqeustCommandSet.executeSet. - * - * Consequently, this "filter" always matches any event. - * * @author Keith Seitz (keiths@redhat.com) */ public class LocationOnlyFilter @@ -90,9 +83,12 @@ public class LocationOnlyFilter * * @param event the <code>Event</code> to scrutinize */ - public boolean matches (Event event) + public boolean matches(Event event) { - // This filter always matches. See comments in class javadoc. - return true; + Location loc = (Location) event.getParameter(Event.EVENT_LOCATION); + if (loc != null) + return (getLocation().equals(loc)); + + return false; } } diff --git a/gnu/classpath/jdwp/util/Location.java b/gnu/classpath/jdwp/util/Location.java index 89e81e563..ff045a5ec 100644 --- a/gnu/classpath/jdwp/util/Location.java +++ b/gnu/classpath/jdwp/util/Location.java @@ -1,5 +1,5 @@ /* Location.java -- class to read/write JDWP locations - Copyright (C) 2005, 2006 Free Software Foundation + Copyright (C) 2005, 2006, 2007 Free Software Foundation This file is part of GNU Classpath. @@ -153,4 +153,16 @@ public class Location { return method.toString () + "." + index; } + + public boolean equals(Object obj) + { + if (obj instanceof Location) + { + Location l = (Location) obj; + return (getMethod().equals(l.getMethod()) + && getIndex() == l.getIndex()); + } + + return false; + } } diff --git a/vm/reference/gnu/classpath/jdwp/VMMethod.java b/vm/reference/gnu/classpath/jdwp/VMMethod.java index d345bc1b5..6a2b04ecf 100644 --- a/vm/reference/gnu/classpath/jdwp/VMMethod.java +++ b/vm/reference/gnu/classpath/jdwp/VMMethod.java @@ -1,5 +1,5 @@ /* VMMethod.java -- a method in a virtual machine - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -175,4 +175,15 @@ public class VMMethod { return VMVirtualMachine.getClassMethod(klass, bb.getLong()); } + + public boolean equals(Object obj) + { + if (obj instanceof VMMethod) + { + VMMethod m = (VMMethod) obj; + return (getId() == m.getId()); + } + + return false; + } } |