|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.joanju.cg.api.EndpointAPI
com.joanju.cg.api.CallSite
public class CallSite
A call site is the location of a RUN statement, a reference to a user function, etc.
This class implements compareTo, equals, and hashCode for easy storage and sorting. If stored in a TreeSet, the objects would be sorted by the internal instruction address.
| Field Summary |
|---|
| Fields inherited from class com.joanju.cg.api.EndpointAPI |
|---|
cuFileName, longSigId, sourceColumn, sourceFileID, sourceFileName, sourceLine |
| Constructor Summary | |
|---|---|
CallSite(AbstractCall call)
|
|
| Method Summary | |
|---|---|
int |
compareTo(java.lang.Object o)
Compare by addresses. |
boolean |
equals(java.lang.Object obj)
Test if addresses are equal. |
java.util.ArrayList<Procedure> |
findMismatches()
Find targets of this call where the signatures mismatch. |
java.lang.String |
getAddressEncoding()
Get a unique String encoding of this record's address. |
AbstractCall |
getBytecode()
This fetches the (low-level) Bytecode instruction record for the call. |
java.util.ArrayList<Procedure> |
getProcedureList()
Get the list of potential target procedures for this call site. |
int |
hashCode()
Return the hash code of the address. |
boolean |
isFullyResolved()
Was Callgraph able to fully resolve this call? |
| Methods inherited from class com.joanju.cg.api.EndpointAPI |
|---|
getCuFileID, getCuFileName, getNodeNum, getSignature, getSourceColumn, getSourceFileID, getSourceFileName, getSourceLine |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CallSite(AbstractCall call)
throws java.sql.SQLException,
java.io.IOException
java.sql.SQLException
java.io.IOException| Method Detail |
|---|
public int compareTo(java.lang.Object o)
compareTo in interface java.lang.Comparablepublic boolean equals(java.lang.Object obj)
equals in class java.lang.Object
public java.util.ArrayList<Procedure> findMismatches()
throws java.sql.SQLException,
java.io.IOException
java.sql.SQLException
java.io.IOExceptionpublic java.lang.String getAddressEncoding()
public AbstractCall getBytecode()
public java.util.ArrayList<Procedure> getProcedureList()
throws java.sql.SQLException,
java.io.IOException
java.io.IOException
java.sql.SQLExceptionProcedure,
isFullyResolved()public int hashCode()
hashCode in class java.lang.Object
public boolean isFullyResolved()
throws java.sql.SQLException,
java.io.IOException
It is often important to know whether Callgraph was able to fully resolve a call. An example of partly unresolved is when one of the values for RUN VALUE comes from an expression that Callgraph does not evaluate.
Usage note: The value for isFullyResolved is calculated in the getProcedureList function, and stored. If you are going to call both functions, call getProcedureList first, for efficiency sake.
java.sql.SQLException
java.io.IOExceptiongetProcedureList()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||