entry.addLabels(retriever.getAllLabels());
//first, create fresh variables for all the parameters
Iterator itr = method.parameters().iterator();
while (itr.hasNext()) {
SingleVariableDeclaration param = (SingleVariableDeclaration) itr.next();
Variable paramVar = getAnalysisContext().getSourceVariable(param.resolveBinding());
ObjectLabel fresh = new DefaultObjectLabel(param.getType().resolveBinding(), false);
entry.addPointsTo(paramVar, fresh);
entry.addLabel(fresh);
}
//once we have all starting variables, figure out who might point to who
itr = method.parameters().iterator();
while (itr.hasNext()) {
SingleVariableDeclaration param = (SingleVariableDeclaration) itr.next();
Variable paramVar = getAnalysisContext().getSourceVariable(param.resolveBinding());
entry.addPointsToAnySubtype(paramVar, param.getType().resolveBinding());
}
return entry;
}