Home | DMP | Project | Journal | Contact
Relevant Java Classes | Delete Call Site | Template Call Graph | Research | Final Report
FLEX Javadoc Documentation | Java 2 Platform SE v. 1.4

CALL - Represents a method invocation (call site).
CallGraph (harpoon.Analysis) - A general IR-independent interface for a call graph. IR-specific subclasses (see harpoon.Analysis.Quads.CallGraph) can provide call-site information.
CallGraph (harpoon.Analysis.Quads) - A general interface that should be implemented by a call graph.
CFGEdge - Connects two CFGraphables in a graph structure.
CFGraphable - Defines an interface for intermediate representations that are inherently interconnected in a directed control flow graph.
Edge - Connects Quad nodes in the control flow graph.
FakeMetaCallGraph - Converts a classic CallGraph to a MetaCallGraph. Offers a MetaMethods view of the call graph without doing any specialization.
GenType - Models a type.
HClass - Instances of HClass represent classes and interfaces of a java program.
HCode - Abstract class that all views of a particular method's executable code should extend. Corresponds roughly to a list of instructions.
HCodeEdge - Connects two HCodeElements in a graph structure.
HCodeElement - An interface that all views of a particular method's executable instructions should implement. Components of an HCode.
HMethod - Provides information about, and access to, a single method on a class or interface.
Map - Maps keys to values. Cannot contain duplicate keys.
MetaAllCallers - Computes the callers (MetaMethods) of each meta-method from the program. Inverts the edges of the graph computed in MetaCallGraph.
MetaCallGraph - MetaCallGraph is for meta methods what CallGraph is for "normal" methods. It provides information on what meta methods are called by a given meta method (at a specific call site).
MetaCallGraphAbstr - Abstract implementation of the MetaCallGraph interface.
MetaCallGraphImpl - Full-power implementation of the MetaCallGraph interface.
MetaMethod - Specialization of a method; a function of the types of its arguments.
Quad - The base class for the quadruple representation.
ReachingDefs - Defines an abstract class for analyzing reching definitions.
ReachingDefsAltImpl - An implementation of ReachingDefs
ReachingDefsImpl - Defines an implementation for analyzing reaching definitions.
Relation - A mathematical relation; accepts 1-many and many-1 mappings.
RETURN - Indicates a method return, with an optional return value.
SCComponent - Models a strongly connected component of a graph.
Set - A collection that contains no duplicate elements. Models the mathematical set abstraction.
SetHClass - Represents concrete type.
SmartCallGraph - Smart call graph.
Temp - Represents a temporary variable.
TypeInference - A simple type inference module. Can be used to compute the types of a set of ExactTemps.
TypeInfo - A simple type analysis tool for quad-ssi form.

CALL

  • DESCRIPTION
    • CALL objects represent method invocations.
    • The retval field will be null for void methods.
    • For non-static methods, the method receiver is the first parameter in the params array.
    • CALL behaves like a conditional branch. If no exception is thrown by the called method, the Temp specified by retval will be assigned the return value, if any, and execution will follow the first outgoing edge, nextEdge(0). If an exception is thrown, the Temp specified by retex will be assigned the non-null reference to the thrown exception and execution will follow the second outgoing edge, nextEdge(1). Calls with explicit exception handling always have exactly two outgoing edges.
    • In quad-with-try form, the CALL has only one outgoing edge, and exceptions are handled by an implicit control transfer to an appropriate HANDLER quad. The retex field should be null in this case (and only in this case).
    • Note that exactly one of { retval, retex } will be defined after the execution of CALL; thus, it is perfectly valid for retval and retex to be identical. Of course, for type safety, the return type cannot be primitive if this is so. The Temp not defined by the CALL (if the retex and retval Temps are different) is undefined; it may have any value at all after the CALL. Both IR.LowQuad.PCALL and IR.Tree.CALL also behave this way.
  • LOCATION / INHERITANCE
    • harpoon.IR.Quads
    • public class
    • extends SIGMA
    • All implemented interfaces - CFGraphable, Cloneable, Comparable, HCodeElement, Serializable, UseDefable
  • FIELDS
    • protected final HMethod method
      The method to invoke.
    • protected Temp[] params
      Parameters to pass to the method. The receiver object (object on which to invoke the method) is the first element in the parameter list of a virtual method.
    • protected Temp retval
      Destination for the method's return value; null for void methods.
    • protected Temp retex
      Destination for any exception thrown by the method. If null exceptions are thrown, not caught.
    • protected final boolean isVirtual
      Special flag for non-virtual methods. (INVOKESPECIAL has different invocation semantics.)
    • protected final boolean isTailCall
      Special flag for tail calls.
    • Fields inherited from class harpoon.IR.Quads.SIGMA - dst, src
    • Fields inherited from class harpoon.IR.Quads.Quad - arrayFactory
  • METHODS
    • Constructors
      • public CALL(QuadFactory qf, HCodeElement source, HMethod method, Temp[] params, Temp retval, Temp retex, boolean isVirtual, boolean isTailCall, Temp[][] dst, Temp[] src)
        Creates a CALL quad representing a method invocation with explicit exception handling.
      • public CALL(QuadFactory qf, HCodeElement source, HMethod method, Temp[] params, Temp retval, Temp retex, boolean isVirtual, boolean isTailCall, Temp[] src)
        Creates a CALL with an empty dst array of the proper size.
      • Parameters:
        • method - the method to invoke
        • params - an array of Temps containing the parameters to pass to the method. The receiver is the first element in the parameter list of a non-static method; static methods do not need to specify a receiver. For static methods, params should match exactly the number and types of parameters in the method descriptor. For non-static methods, the receiver object (which is not included in the descriptor) is element zero of the params array.
        • retval - the destination Temp for the method's return value, or null if the method returns no value (return type is void).
        • retex - the destination Temp for any exception thrown by the called method. If null, then this CALL has arity one and handles exceptions implicitly; otherwise, it has arity two and exception handling is explicit.
        • isVirtual - true if invocation semantics are that of a virtual method; false for constructors, private methods, and static initializers, which have non-virtual invocation semantics. Value doesn't matter for static methods; the isVirtual() method will always return false in this case.
        • isTailCall - true if this method should return the same value the callee returns or throw whatever exception the callee throws (in which case we can get rid of our stack and let the callee return directly to our caller). Usually false.
        • dst - the elements of the pairs on the left-hand side of the sigma function assignment block associated with this CALL.
        • src - the arguments to the sigma functions associated with this CALL.
    • method
      public HMethod method()
      Returns the method invoked by this CALL.
    • params
      public Temp[] params()
      Returns the parameters of this method invocation.
    • params
      public Temp params(int i)
      Returns a specified parameter (at index i?) in the params array.
    • paramsLength
      public int paramsLength()
      Returns the number of parameters in the params array.
    • paramType
      public HClass paramType(int i)
      Returns the type of the specified parameter.
    • retval
      public Temp retval()
      Returns the Temp that will hold the return value of the method, or the value null if the method returns no value.
    • retex
      public Temp retex()
      Returns the Temp that will get any exception thrown by the called method, or null if exceptions are not caught.
    • isVirtual
      public boolean isVirtual()
      Returns true if the method is dispatched virtually, false otherwise. Static methods return false, constructors and static initializers return false, and all other method types return true.
    • isTailCall
      public boolean isTailCall()
      Returns true if this method should return the same value the callee returns or throw whatever exception the callee throws (in which case we can get rid of our stack and let the callee return directly to our caller). Usually false.
    • use
      public Temp[] use()
      Returns all the Temps used by this Quad.
      Specified by: use in interface UseDefable
      Overrides: use in class SIGMA
      Returns: the params array
    • def
      public Temp[] def()
      Returns all the Temps defined by this Quad.
      Specified by: def in interface UseDefable
      Overrides: def in class SIGMA
      Returns: the non-null members of { retval, retex }
    • kind
      public int kind()
      Returns an integer enumeration of the kind of this Quad. The enumerated values are defined in QuadKind.
      Specified by: kind in class Quad
    • rename
      public Quad rename(QuadFactory qqf, TempMap defMap, TempMap useMap)
      Creates a new Quad identical to the receiver but with all Temps renamed according to a mapping. The new Quad will have no edges and will come from the specified QuadFactory qqf.
      Specified by: rename in class Quad
    • accept
      public void accept(QuadVisitor v)
      Accept a visitor.
      Overrides: accept in class SIGMA
    • toString
      public String toString()
      Returns human-readable representation of the receiver object.
      Overrides: toString in class SIGMA
    • isInterfaceMethod
      public boolean isInterfaceMethod()
      Determines whether this CALL is to an interface method.
    • isStatic
      public boolean isStatic()
      Determines whether this CALL is to a static method.
    • Methods inherited from class harpoon.IR.Quads.SIGMA - arity, assign, dst, dst, dst, numSigmas, removeSigma, src, src
    • Methods inherited from class harpoon.IR.Quads.Quad - addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, defC, edgeC, edges, getFactory, getID, getLineNumber, getSourceFile, handlers, hashCode, map, map, map, next, next, nextEdge, nextEdge, nextLength, pred, predC, prev, prev, prevEdge, prevEdge, prevLength, remove, removeHandlers, rename, replace, succ, succC, transferHandlers, useC

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

CallGraph (harpoon.Analysis)

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

CallGraph (harpoon.Analysis.Quads)

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

CFGEdge

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

CFGraphable

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

Edge

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

FakeMetaCallGraph

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

GenType

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

HClass

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

HCode

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

HCodeEdge

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

HCodeElement

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

HMethod

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

Map

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

MetaAllCallers

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

MetaCallGraph

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

MetaCallGraphAbstr

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

MetaCallGraphImpl

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

MetaMethod

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

Quad

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

ReachingDefs

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

ReachingDefsAltImpl

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

ReachingDefsImpl

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

Relation

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

RETURN

  • DESCRIPTION
    • RETURN objects indicate a method return, with an optional return value.
  • LOCATION / INHERITANCE
    • harpoon.IR.Quads
    • public class
    • extends Quad
    • All implemented interfaces - CFGraphable, Cloneable, Comparable, HCodeElement, Serializable, UseDefable
  • FIELDS
    • protected Temp retval
      Holds the return value for the method, null if there is no return value.
    • Fields inherited from class harpoon.IR.Quads.Quad - arrayFactory
  • METHODS
    • Constructor
      public RETURN(QuadFactory qf, HCodeElement source, Temp retval)
      Creates a RETURN representing a method return.
      Parameters:
      • retval - the Temp holding the return value for the method. The retval field should be null if the method does not return a value.
    • retval
      public Temp retval()
      Returns the Temp that holds the method return value, or returns null if the method returns no value.
    • use
      public Temp[] use()
      Returns all the Temps used by this Quad. The array is either empty (if the retval is null) or contains one element, the retval Temp.
      Specified by: use in interface UseDefable
      Overrides: use in class Quad
    • kind
      public int kind()
      Returns an integer enumeration of the kind of this Quad. The enumerated values are defined in QuadKind.
      Specified by: kind in class Quad
    • rename
      public Quad rename(QuadFactory qqf, TempMap defMap, TempMap useMap)
      Creates a new Quad identical to the receiver but with all Temps renamed according to a mapping. The new Quad will have no edges and will come from the specified QuadFactory. Specified by: rename in class Quad
    • accept
      public void accept(QuadVisitor v)
      Accept a visitor.
      Specified by: accept in class Quad
    • toString
      public String toString()
      Returns a human-readable representation of this Quad.
      Specified by: toString in class Quad
    • Methods inherited from class harpoon.IR.Quads.Quad - addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, def, defC, edgeC, edges, getFactory, getID, getLineNumber, getSourceFile, handlers, hashCode, map, map, map, next, next, nextEdge, nextEdge, nextLength, pred, predC, prev, prev, prevEdge, prevEdge, prevLength, remove, removeHandlers, rename, replace, succ, succC, transferHandlers, useC

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

SCComponent

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

Set

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

SetHClass

  • DESCRIPTION
    • Represents concrete type!
    • Currently (v. 1.2), it is simply a Set of HClasses, but optimized ways of representing a cone of classes (a class and all its subclasses) can be considered.
  • LOCATION / INHERITANCE
    • harpoon.Analysis.TypeInference
    • public class
    • extends HashSet
    • All implemented interfaces - Cloneable, Collection, Serializable, Set
  • METHODS
    • Constructors
      • public SetHClass()
      • public SetHClass(HClass c)
      • public SetHClass(SetHClass s)
    • Methods inherited from class java.util.HashSet - add, clear, clone, contains, isEmpty, iterator, remove, size
    • Methods inherited from class java.util.AbstractSet - equals, hashCode, removeAll
    • Methods inherited from class java.util.AbstractCollection - addAll, containsAll, retainAll, toArray, toArray, toString
    • Methods inherited from class java.lang.Object - finalize, getClass, notify, notifyAll, wait, wait, wait
    • Methods inherited from interface java.util.Set - addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

SmartCallGraph

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

Temp

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

TypeInference

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo

TypeInfo

Top | CALL | CallGraph | CallGraph | CFGEdge | CFGraphable | Edge | FakeMetaCallGraph | GenType | HClass | HCode | HCodeEdge | HCodeElement | HMethod | Map | MetaAllCallers | MetaCallGraph | MetaCallGraphAbstr | MetaCallGraphImpl | MetaMethod | Quad | ReachingDefs | ReachingDefsAltImpl | ReachingDefsImpl | Relation | RETURN | SCComponent | Set | SetHClass | SmartCallGraph | Temp | TypeInference | TypeInfo




Home | DMP | Project | Journal | Contact
Relevant Java Classes | Delete Call Site | Template Call Graph | Research | Final Report
FLEX Javadoc Documentation | Java 2 Platform SE v. 1.4

©2002, Katie Heise