/*
  * (non-Javadoc)
  *
  * @see com.ibm.domo.ssa.SSAInstruction.Visitor#visitReturn(com.ibm.domo.ssa.SSAReturnInstruction)
  */
 @Override
 public void visitReturn(SSAReturnInstruction instruction) {
   // skip returns of primitive type
   if (instruction.returnsPrimitiveType() || instruction.returnsVoid()) {
     return;
   } else {
     // just make a node for the def'd value
     PointerKey def = heapModel.getPointerKeyForLocal(node, instruction.getResult());
     addNode(def);
     PointerKey returnValue = heapModel.getPointerKeyForReturnValue(node);
     addNode(returnValue);
     addEdge(returnValue, def);
   }
   // PointerKey returnValue = getPointerKeyForReturnValue(node);
   // PointerKey result = getPointerKeyForLocal(node,
   // instruction.getResult());
   // // if (!supportFullPointerFlowGraph &&
   // // contentsAreInvariant(instruction.getResult())) {
   // if (contentsAreInvariant(symbolTable, du, instruction.getResult())) {
   // system.recordImplicitPointsToSet(result);
   // InstanceKey[] ik = getInvariantContents(symbolTable, du, node,
   // instruction.getResult(), SSAPropagationCallGraphBuilder.this);
   // for (int i = 0; i < ik.length; i++) {
   // system.newConstraint(returnValue, ik[i]);
   // }
   // } else {
   // system.newConstraint(returnValue, assignOperator, result);
   // }
 }