summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2007-04-27 21:01:04 +0000
committerKeith Seitz <keiths@redhat.com>2007-04-27 21:01:04 +0000
commit09c26268ade017ae4787238e69abae72ad78c080 (patch)
tree360ede08b361ab9ea0b00ced3f97d12f212e8e54
parent9e9c52b9d14bfef034059b61de1f63ad4511ee5a (diff)
downloadclasspath-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--ChangeLog9
-rw-r--r--gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java18
-rw-r--r--gnu/classpath/jdwp/util/Location.java14
-rw-r--r--vm/reference/gnu/classpath/jdwp/VMMethod.java13
4 files changed, 41 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 7515d7d19..69ef250e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
+ }
}