joeq.Compiler.Analysis.Primitive
Class PrimitiveMethodSummary.ConcreteObjectNode

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

public static final class PrimitiveMethodSummary.ConcreteObjectNode
extends PrimitiveMethodSummary.Node
implements PrimitiveMethodSummary.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.Primitive.PrimitiveMethodSummary.Node
accessPathEdges, addedEdges, id, passedParameters, predecessors, TRACK_REASONS
 
Method Summary
 PrimitiveMethodSummary.Node copy()
          Return a shallow copy of this node.
static PrimitiveMethodSummary.ConcreteObjectNode get(jq_Field f, Object o)
           
static PrimitiveMethodSummary.ConcreteObjectNode get(Operand.AConstOperand op, ProgramLocation q)
           
static Collection getAll()
           
 jq_Type 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, PrimitiveMethodSummary.Node n)
           
static PrimitiveMethodSummary.Node read(StringTokenizer st)
           
 boolean removeEdge(jq_Field m, PrimitiveMethodSummary.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.Primitive.PrimitiveMethodSummary.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 PrimitiveMethodSummary.ConcreteObjectNode get(Operand.AConstOperand op,
                                                            ProgramLocation q)

get

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

getLocation

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

copy

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

Specified by:
copy in class PrimitiveMethodSummary.Node

getDefiningMethod

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

Specified by:
getDefiningMethod in class PrimitiveMethodSummary.Node

getDeclaredType

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

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

toString_long

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

Overrides:
toString_long in class PrimitiveMethodSummary.Node

toString_short

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

Specified by:
toString_short in class PrimitiveMethodSummary.Node

getNonEscapingEdgeFields

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

Overrides:
getNonEscapingEdgeFields in class PrimitiveMethodSummary.Node

getEdges

public Set getEdges()

hasNonEscapingEdge

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

hasEdges

public boolean hasEdges()

removeEdge

public boolean removeEdge(jq_Field m,
                          PrimitiveMethodSummary.Node n)
Description copied from class: PrimitiveMethodSummary.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 PrimitiveMethodSummary.Node

write

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

read

public static PrimitiveMethodSummary.Node read(StringTokenizer st)


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