joeq.Compiler.Analysis.FlowInsensitive
Class MethodSummary.ConcreteObjectNode

java.lang.Object
  extended by joeq.Compiler.Analysis.FlowInsensitive.MethodSummary.Node
      extended by joeq.Compiler.Analysis.FlowInsensitive.MethodSummary.ConcreteObjectNode
All Implemented Interfaces:
Comparable, MethodSummary.HeapObject, MethodSummary.Variable, jwutil.io.Textualizable
Enclosing class:
MethodSummary

public static final class MethodSummary.ConcreteObjectNode
extends MethodSummary.Node
implements MethodSummary.HeapObject

A ConcreteObjectNode refers to an object that we discovered through reflection. It includes a reference to the actual object instance.


Field Summary
static boolean ADD_EDGES
           
 
Fields inherited from class joeq.Compiler.Analysis.FlowInsensitive.MethodSummary.Node
accessPathEdges, addedEdges, id, passedParameters, predecessors, TRACK_REASONS
 
Method Summary
 MethodSummary.Node copy()
          Return a shallow copy of this node.
static MethodSummary.ConcreteObjectNode get(jq_Field f, Object o)
           
static MethodSummary.ConcreteObjectNode get(Operand.AConstOperand op, ProgramLocation q)
           
static Collection getAll()
           
 jq_Reference getDeclaredType()
          Return the declared type of this node.
 jq_Method getDefiningMethod()
          Return the method that this node is defined in, null if it doesn't come from a method.
 Set getEdges()
           
 ProgramLocation getLocation()
           
 Set getNonEscapingEdgeFields()
          Return the set of fields that this node has inside edges with.
 boolean hasEdges()
           
 boolean hasNonEscapingEdge(jq_Field m, MethodSummary.Node n)
           
static MethodSummary.Node read(StringTokenizer st)
           
 boolean removeEdge(jq_Field m, MethodSummary.Node n)
          Remove the given successor node on the given field from the inside edge set.
 String toString_long()
          Return a string representation of the node in long form.
 String toString_short()
          Return a string representation of the node in short form.
 void write(jwutil.io.Textualizer t)
           
 
Methods inherited from class joeq.Compiler.Analysis.FlowInsensitive.MethodSummary.Node
addAccessPathEdge, addAccessPathEdges, addEdge, addEdge, addEdges, addEdges, addPredecessor, compareTo, compareTo, getAccessPathEdgeFields, getAccessPathEdges, getAccessPathEdges, getAccessPathEdges, getAccessPathEdgeTargets, getAllEdges, getAllEdges, getAllEdges, getEdges_escaped, getEscapes, getNonEscapingEdges, getNonEscapingEdges, getNonEscapingEdgeTargets, getPassedParameters, getPredecessors, getPredecessorTargets, hasAccessPathEdge, hasAccessPathEdges, hashCode, hasNonEscapingEdges, hasPredecessor, isPassedAsParameter, numberOfNodes, readEdges, recordPassedParameter, recordPassedParameter, removeAccessPathEdge, removePredecessor, replaceBy, setEscapes, toString, update, writeEdges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ADD_EDGES

public static final boolean ADD_EDGES
See Also:
Constant Field Values
Method Detail

getAll

public static Collection getAll()

get

public static MethodSummary.ConcreteObjectNode get(Operand.AConstOperand op,
                                                   ProgramLocation q)

get

public static MethodSummary.ConcreteObjectNode get(jq_Field f,
                                                   Object o)

getLocation

public ProgramLocation getLocation()
Specified by:
getLocation in interface MethodSummary.HeapObject

copy

public final MethodSummary.Node copy()
Description copied from class: MethodSummary.Node
Return a shallow copy of this node.

Specified by:
copy in class MethodSummary.Node

getDefiningMethod

public jq_Method getDefiningMethod()
Description copied from class: MethodSummary.Node
Return the method that this node is defined in, null if it doesn't come from a method.

Specified by:
getDefiningMethod in class MethodSummary.Node

getDeclaredType

public jq_Reference getDeclaredType()
Description copied from class: MethodSummary.Node
Return the declared type of this node.

Specified by:
getDeclaredType in interface MethodSummary.HeapObject
Specified by:
getDeclaredType in class MethodSummary.Node

toString_long

public String toString_long()
Description copied from class: MethodSummary.Node
Return a string representation of the node in long form. Includes inside and outside edges and passed parameters.

Overrides:
toString_long in class MethodSummary.Node

toString_short

public String toString_short()
Description copied from class: MethodSummary.Node
Return a string representation of the node in short form.

Specified by:
toString_short in class MethodSummary.Node

getNonEscapingEdgeFields

public Set getNonEscapingEdgeFields()
Description copied from class: MethodSummary.Node
Return the set of fields that this node has inside edges with.

Overrides:
getNonEscapingEdgeFields in class MethodSummary.Node

getEdges

public Set getEdges()

hasNonEscapingEdge

public boolean hasNonEscapingEdge(jq_Field m,
                                  MethodSummary.Node n)
Overrides:
hasNonEscapingEdge in class MethodSummary.Node

hasEdges

public boolean hasEdges()

removeEdge

public boolean removeEdge(jq_Field m,
                          MethodSummary.Node n)
Description copied from class: MethodSummary.Node
Remove the given successor node on the given field from the inside edge set. Also removes the predecessor link from the successor node to this node. Returns true if that edge existed, false otherwise.

Overrides:
removeEdge in class MethodSummary.Node

write

public void write(jwutil.io.Textualizer t)
           throws IOException
Specified by:
write in interface jwutil.io.Textualizable
Overrides:
write in class MethodSummary.Node
Throws:
IOException

read

public static MethodSummary.Node read(StringTokenizer st)


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