joeq.Compiler.Analysis.FlowInsensitive
Class MethodSummary.AccessPath

java.lang.Object
  extended by joeq.Compiler.Analysis.FlowInsensitive.MethodSummary.AccessPath
Enclosing class:
MethodSummary

public static class MethodSummary.AccessPath
extends Object

Encodes an access path. An access path is an NFA, where transitions are field names. Each node in the NFA is represented by an AccessPath object. We try to share AccessPath objects as much as possible.


Field Summary
static jwutil.collections.Filter filter
          A filter to unwrap objects from their IdentityHashCodeWrapper.
 
Method Summary
 MethodSummary.AccessPath copy()
          Return a copy of this (complete) access path.
static MethodSummary.AccessPath create(jq_Field f, MethodSummary.Node n, MethodSummary.AccessPath p)
          Return an access path that is equivalent to the given access path prepended with a transition on the given field and node.
static MethodSummary.AccessPath create(MethodSummary.AccessPath p, jq_Field f, MethodSummary.Node n)
          Return an access path that is equivalent to the given access path appended with a transition on the given field and node.
 boolean equals(MethodSummary.AccessPath that)
          Returns true if this access path is equal to the given access path.
 boolean equals(Object o)
           
 Iterator findLast()
          Return an iteration of the AccessPath nodes that correspond to end states.
 MethodSummary.AccessPath findNode(MethodSummary.Node n)
          Find the AccessPath object that corresponds to the given node.
 jq_Field first()
          Returns the first field of this access path.
 int hashCode()
          Returns the hashcode for this access path.
 Iterator next()
          Returns an iteration of the next AccessPath objects.
 Iterator reachable()
          Return an iteration of the AccessPath objects that are reachable from this AccessPath.
 String toString()
          Returns a string representation of this (complete) access path.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

filter

public static final jwutil.collections.Filter filter
A filter to unwrap objects from their IdentityHashCodeWrapper.

Method Detail

reachable

public Iterator reachable()
Return an iteration of the AccessPath objects that are reachable from this AccessPath.


create

public static MethodSummary.AccessPath create(jq_Field f,
                                              MethodSummary.Node n,
                                              MethodSummary.AccessPath p)
Return an access path that is equivalent to the given access path prepended with a transition on the given field and node. The given access path can be null (empty).


create

public static MethodSummary.AccessPath create(MethodSummary.AccessPath p,
                                              jq_Field f,
                                              MethodSummary.Node n)
Return an access path that is equivalent to the given access path appended with a transition on the given field and node. The given access path can be null (empty).


findLast

public Iterator findLast()
Return an iteration of the AccessPath nodes that correspond to end states.


findNode

public MethodSummary.AccessPath findNode(MethodSummary.Node n)
Find the AccessPath object that corresponds to the given node.


copy

public MethodSummary.AccessPath copy()
Return a copy of this (complete) access path.


toString

public String toString()
Returns a string representation of this (complete) access path.

Overrides:
toString in class Object

equals

public boolean equals(MethodSummary.AccessPath that)
Returns true if this access path is equal to the given access path.


equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Returns the hashcode for this access path.

Overrides:
hashCode in class Object

first

public jq_Field first()
Returns the first field of this access path.


next

public Iterator next()
Returns an iteration of the next AccessPath objects.



Copyright © 2001-2008 John Whaley. All Rights Reserved.