FindBugs™ 1.3.9

edu.umd.cs.findbugs.ba
Class Location

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.Location
All Implemented Interfaces:
java.lang.Comparable<Location>

public class Location
extends java.lang.Object
implements java.lang.Comparable<Location>

A class representing a location in the CFG for a method. Essentially, it represents a static instruction, with the important caveat that CFGs have inlined JSR subroutines, meaning that a single InstructionHandle in a CFG may represent several static locations. To this end, a Location is comprised of both an InstructionHandle and the BasicBlock that contains it.

Location objects may be compared with each other using the equals() method, and may be used as keys in tree and hash maps and sets. Note that it is only valid to compare Locations produced from the same CFG.

Author:
David Hovemeyer
See Also:
CFG

Constructor Summary
Location(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock)
          Constructor.
 
Method Summary
 int compareTo(Location other)
           
 boolean equals(java.lang.Object o)
           
 BasicBlock getBasicBlock()
          Get the basic block.
static Location getFirstLocation(BasicBlock basicBlock)
           
 org.apache.bcel.generic.InstructionHandle getHandle()
          Get the instruction handle.
static Location getLastLocation(BasicBlock basicBlock)
           
 int hashCode()
           
 boolean isFirstInstructionInBasicBlock()
          Return whether or not the Location is positioned at the first instruction in the basic block.
 boolean isLastInstructionInBasicBlock()
          Return whether or not the Location is positioned at the last instruction in the basic block.
 java.lang.String toCompactString()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Location

public Location(@NonNull
                org.apache.bcel.generic.InstructionHandle handle,
                @NonNull
                BasicBlock basicBlock)
Constructor.

Parameters:
handle - the instruction
basicBlock - the basic block containing the instruction
Method Detail

getFirstLocation

public static Location getFirstLocation(@NonNull
                                        BasicBlock basicBlock)

getLastLocation

public static Location getLastLocation(@NonNull
                                       BasicBlock basicBlock)

getHandle

public org.apache.bcel.generic.InstructionHandle getHandle()
Get the instruction handle.


getBasicBlock

public BasicBlock getBasicBlock()
Get the basic block.


isFirstInstructionInBasicBlock

public boolean isFirstInstructionInBasicBlock()
Return whether or not the Location is positioned at the first instruction in the basic block.


isLastInstructionInBasicBlock

public boolean isLastInstructionInBasicBlock()
Return whether or not the Location is positioned at the last instruction in the basic block.


compareTo

public int compareTo(Location other)
Specified by:
compareTo in interface java.lang.Comparable<Location>

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toCompactString

public java.lang.String toCompactString()
Returns:
a compact string of the form "bb:xx", where "bb" is the basic block number and "xx" is the bytecode offset

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.