| // Location.java - a wrapper class for breakpoint locations in JVMTI |
| |
| /* Copyright (C) 2006 Free Software Foundation |
| |
| This file is part of libgcj. |
| |
| This software is copyrighted work licensed under the terms of the |
| Libgcj License. Please consult the file "LIBGCJ_LICENSE" for |
| details. */ |
| |
| package gnu.gcj.jvmti; |
| |
| import java.lang.Long; |
| |
| /** |
| * This class represents a breakpoint location (pair<jmethodID,jlocation>). |
| * BreakpointManager uses this class as a key in the Map of installed |
| * breakpoints. |
| * |
| * @author Keith Seitz (keiths@redhat.com) |
| */ |
| public class Location |
| { |
| // method (a jmethodID in JVMTI) |
| private long method; |
| |
| // index (a jlocation in JVMTI) |
| private long location; |
| |
| /** |
| * Constructor |
| * |
| * @param method the method defined by this location (a jmethodID) |
| * @param location the integer index of the insn in the method (a jlocation) |
| */ |
| public Location (long method, long location) |
| { |
| this.method = method; |
| this.location = location; |
| } |
| |
| public int hashCode () |
| { |
| return toString ().hashCode (); |
| } |
| |
| public boolean equals (Object obj) |
| { |
| Location loc = (Location) obj; |
| return (loc.method == method && loc.location == location); |
| } |
| |
| /** |
| * Converts the Location to a String |
| */ |
| public String toString () |
| { |
| return Long.toHexString (method) + "." + Long.toString (location); |
| } |
| } |