joeq.Compiler.Analysis.Primitive
Class PrimitiveMethodSummary.FieldNode

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

public static final class PrimitiveMethodSummary.FieldNode
extends PrimitiveMethodSummary.OutsideNode

A FieldNode represents the result of a 'load' instruction. There are outside edge links from the nodes that can be the base object of the load to this node. Two nodes are equal if the fields match and they are from the same instruction.


Field Summary
 
Fields inherited from class joeq.Compiler.Analysis.Primitive.PrimitiveMethodSummary.OutsideNode
skip, visited
 
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.
 String fieldName()
           
static PrimitiveMethodSummary.FieldNode get(PrimitiveMethodSummary.Node base, jq_Field f, ProgramLocation obj)
           
 Set getAccessPathPredecessors()
          Return the set of outside edge predecessors of this node.
 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.
 jq_Field getField()
           
 Set getLocations()
           
static PrimitiveMethodSummary.FieldNode read(StringTokenizer st)
           
 void replaceBy(Set set, boolean removeSelf)
          Replace this node by the given set of nodes.
 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.
static PrimitiveMethodSummary.FieldNode unify(jq_Field f, Set s)
          Returns a new FieldNode that is the unification of the given set of FieldNodes.
 void update(HashMap um)
          Update all predecessor and successor nodes with the given update map.
 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, getNonEscapingEdgeFields, getNonEscapingEdges, getNonEscapingEdges, getNonEscapingEdgeTargets, getPassedParameters, getPredecessors, getPredecessorTargets, hasAccessPathEdge, hasAccessPathEdges, hashCode, hasNonEscapingEdge, hasNonEscapingEdges, hasPredecessor, isPassedAsParameter, numberOfNodes, readEdges, recordPassedParameter, recordPassedParameter, removeAccessPathEdge, removeEdge, removePredecessor, setEscapes, toString, writeEdges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

get

public static PrimitiveMethodSummary.FieldNode get(PrimitiveMethodSummary.Node base,
                                                   jq_Field f,
                                                   ProgramLocation obj)

unify

public static PrimitiveMethodSummary.FieldNode unify(jq_Field f,
                                                     Set s)
Returns a new FieldNode that is the unification of the given set of FieldNodes. In essence, all of the given nodes are replaced by a new, returned node. The given field nodes must be on the given field.


replaceBy

public void replaceBy(Set set,
                      boolean removeSelf)
Description copied from class: PrimitiveMethodSummary.Node
Replace this node by the given set of nodes. All inside and outside edges to and from this node are replaced by sets of edges to and from the nodes in the set. The passed parameter set of this node is also added to every node in the given set.

Overrides:
replaceBy in class PrimitiveMethodSummary.Node

update

public void update(HashMap um)
Description copied from class: PrimitiveMethodSummary.Node
Update all predecessor and successor nodes with the given update map. Also clones the passed parameter set.

Overrides:
update in class PrimitiveMethodSummary.Node

getAccessPathPredecessors

public Set getAccessPathPredecessors()
Return the set of outside edge predecessors of this node.


getField

public jq_Field getField()

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

getLocations

public Set getLocations()

fieldName

public String fieldName()

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

getDeclaredType

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

Specified by:
getDeclaredType in class PrimitiveMethodSummary.OutsideNode

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

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.FieldNode read(StringTokenizer st)


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