if (DEBUG) {
System.out.println("******** Analyzing class " + javaClass.getClassName());
}
// Build self-call graph
SelfCalls selfCalls = new SelfCalls(classContext) {
@Override
public boolean wantCallsFor(Method method) {
return !method.isPublic();
}
};
Set<Method> lockedMethodSet;
// Set<Method> publicReachableMethods;
Set<Method> allMethods = new HashSet<Method>(Arrays.asList(javaClass.getMethods()));
try {
selfCalls.execute();
CallGraph callGraph = selfCalls.getCallGraph();
if (DEBUG) {
System.out.println("Call graph (not unlocked methods): " + callGraph.getNumVertices() + " nodes, "
+ callGraph.getNumEdges() + " edges");
}
// Find call edges that are obviously locked