harpoon.Analysis.PointerAnalysis
Class ODInformation

java.lang.Object
  |
  +--harpoon.Analysis.PointerAnalysis.ODInformation

public class ODInformation
extends Object

ODInformation contains the pieces of information relative to an on-demand analysis.

Version:
$Id: ODInformation.java,v 1.3 2002/02/26 22:41:19 cananian Exp $
Author:
Frederic VIVIEN <vivien@lcs.mit.edu>

Field Summary
static boolean DEBUG
           
 EdgesNCallees inAlways
           
 EdgesNCallees outAlways
           
 EdgesNCallees outMaybe
           
 boolean precise
           
 Set skippedCS
           
 
Constructor Summary
ODInformation()
          Creates an ODInformation object.
ODInformation(boolean precision)
          Creates an ODInformation object, whose precision is set by its boolean argument.
 
Method Summary
 void addHole(MethodHole hole)
           
 void addInsideEdges(PANode n1, String f, PANode n2)
           
 void addInsideEdges(PANode n1, String f, PANode n2, ODInformation reference, Set new_n1, Set new_n2)
           
 void addInsideEdges(PANode n1, String f, PANode n2, ODInformation reference, Set new_n1, Set new_n2, Set previous_holes)
           
 void addInsideEdges(Set nodes1, String f, Set nodes2)
           
 void addLock(PASync sync)
           
 void addOutsideEdges(PANode n1, String f, PANode n2)
           
 void addOutsideEdges(PANode n1, String f, PANode n2, ODInformation reference, Set new_n1)
           
 void addOutsideEdges(PANode n1, String f, PANode n2, ODInformation reference, Set new_n1, Set previous_holes)
           
 void addOutsideEdges(Set nodes1, String f, PANode n2)
           
 Object clone()
           
 Object clonebis()
           
 void join(ODInformation odi2)
          Joins two ODInformation objects.
 Set predecessors(MethodHole mh)
           
 void remove(MethodHole mh)
           
 ODInformation specialize(Map nodeConversion)
           
 String toString()
          Pretty-print debug function.
static void update_and_add(EdgesNCallees edges, EdgesNCallees addenda, MethodHole[] map, MethodHole hole, Set toberemoved)
           
static void update_and_addbis(EdgesNCallees edges, EdgesNCallees addenda, MethodHole[] map, MethodHole hole, Set toberemoved)
           
static Set update_locks(ODInformation odi_org, ODInformation odi_new, ODInformation odi_callee, Relation first_mapping, Relation second_mapping, MethodHole[] mh_converter, MethodHole hole, Set hole_substitute)
           
 void update_skippedCSHistory(Relation caller_hist, MethodHole[] map, int mapsize, MethodHole hole, Set hole_corresp, ODInformation new_odi, Relation callee_hist)
           
 void update_skippedCSHistorybis(Relation caller_hist, MethodHole[] map, int mapsize, MethodHole hole, Set hole_corresp, ODInformation new_odi, Relation callee_hist)
           
 void update(EdgesNCallees edges_new, EdgesNCallees edges_org, MethodHole[] map, int mapsize, Set mh_from_callee_new, MethodHole m_hole, Set toberemoved)
           
 Set update(ODInformation new_odi, ODParIntGraph pig_caller, ODParIntGraph pig_callee, Relation first_mapping, Relation second_mapping_extended, MethodHole hole, ODInformation first_part, ODInformation second_part, Set toberemoved)
           
 void updatebis(EdgesNCallees edges_new, EdgesNCallees edges_org, MethodHole[] map, int mapsize, Set mh_from_callee_new, MethodHole m_hole, Set toberemoved)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
See Also:
Constant Field Values

precise

public boolean precise

inAlways

public EdgesNCallees inAlways

outAlways

public EdgesNCallees outAlways

outMaybe

public EdgesNCallees outMaybe

skippedCS

public Set skippedCS
Constructor Detail

ODInformation

public ODInformation()
Creates an ODInformation object. This information is precise or conservative depending of the value of the corresponding static field in ODPointerAnalysis.


ODInformation

public ODInformation(boolean precision)
Creates an ODInformation object, whose precision is set by its boolean argument.

Method Detail

join

public void join(ODInformation odi2)
Joins two ODInformation objects.


clone

public Object clone()
Overrides:
clone in class Object

clonebis

public Object clonebis()

specialize

public ODInformation specialize(Map nodeConversion)

toString

public String toString()
Pretty-print debug function.

Overrides:
toString in class Object

remove

public void remove(MethodHole mh)

predecessors

public Set predecessors(MethodHole mh)

addOutsideEdges

public void addOutsideEdges(Set nodes1,
                            String f,
                            PANode n2)

addOutsideEdges

public void addOutsideEdges(PANode n1,
                            String f,
                            PANode n2)

addOutsideEdges

public void addOutsideEdges(PANode n1,
                            String f,
                            PANode n2,
                            ODInformation reference,
                            Set new_n1)

addOutsideEdges

public void addOutsideEdges(PANode n1,
                            String f,
                            PANode n2,
                            ODInformation reference,
                            Set new_n1,
                            Set previous_holes)

addInsideEdges

public void addInsideEdges(PANode n1,
                           String f,
                           PANode n2)

addInsideEdges

public void addInsideEdges(Set nodes1,
                           String f,
                           Set nodes2)

addInsideEdges

public void addInsideEdges(PANode n1,
                           String f,
                           PANode n2,
                           ODInformation reference,
                           Set new_n1,
                           Set new_n2)

addInsideEdges

public void addInsideEdges(PANode n1,
                           String f,
                           PANode n2,
                           ODInformation reference,
                           Set new_n1,
                           Set new_n2,
                           Set previous_holes)

addLock

public void addLock(PASync sync)

addHole

public void addHole(MethodHole hole)

update

public Set update(ODInformation new_odi,
                  ODParIntGraph pig_caller,
                  ODParIntGraph pig_callee,
                  Relation first_mapping,
                  Relation second_mapping_extended,
                  MethodHole hole,
                  ODInformation first_part,
                  ODInformation second_part,
                  Set toberemoved)

update_skippedCSHistory

public void update_skippedCSHistory(Relation caller_hist,
                                    MethodHole[] map,
                                    int mapsize,
                                    MethodHole hole,
                                    Set hole_corresp,
                                    ODInformation new_odi,
                                    Relation callee_hist)

update_skippedCSHistorybis

public void update_skippedCSHistorybis(Relation caller_hist,
                                       MethodHole[] map,
                                       int mapsize,
                                       MethodHole hole,
                                       Set hole_corresp,
                                       ODInformation new_odi,
                                       Relation callee_hist)

update

public void update(EdgesNCallees edges_new,
                   EdgesNCallees edges_org,
                   MethodHole[] map,
                   int mapsize,
                   Set mh_from_callee_new,
                   MethodHole m_hole,
                   Set toberemoved)

updatebis

public void updatebis(EdgesNCallees edges_new,
                      EdgesNCallees edges_org,
                      MethodHole[] map,
                      int mapsize,
                      Set mh_from_callee_new,
                      MethodHole m_hole,
                      Set toberemoved)

update_and_add

public static void update_and_add(EdgesNCallees edges,
                                  EdgesNCallees addenda,
                                  MethodHole[] map,
                                  MethodHole hole,
                                  Set toberemoved)

update_and_addbis

public static void update_and_addbis(EdgesNCallees edges,
                                     EdgesNCallees addenda,
                                     MethodHole[] map,
                                     MethodHole hole,
                                     Set toberemoved)

update_locks

public static Set update_locks(ODInformation odi_org,
                               ODInformation odi_new,
                               ODInformation odi_callee,
                               Relation first_mapping,
                               Relation second_mapping,
                               MethodHole[] mh_converter,
                               MethodHole hole,
                               Set hole_substitute)