Example #1
0
 /**
  * Checks whether <code>node</code> escapes at most in the caller. ie it doesn't escape in an
  * unanalyzed method, a thread or a static field.
  */
 public boolean escapesOnlyInCaller(PANode node) {
   if (hasEscapedIntoAMethod(node)) return false; // escapes into an unanalyzed method
   for (Iterator it = nodeHolesSet(node).iterator(); it.hasNext(); ) {
     PANode hole_node = (PANode) it.next();
     if (hole_node.type() != PANode.PARAM) return false; // escapes into a thread or a static
   }
   return true;
 }