398 {
399 if (SVFUtil::isa<ValVar>(node))
400 {
401 if(SVFUtil::isa<GepValVar>(node))
402 return "shape=hexagon";
403 else if (SVFUtil::isa<DummyValVar>(node))
404 return "shape=diamond";
405 else
406 return "shape=box";
407 }
408 else if (SVFUtil::isa<ObjVar>(node))
409 {
410 if(SVFUtil::isa<GepObjVar>(node))
411 return "shape=doubleoctagon";
412 else if(SVFUtil::isa<BaseObjVar>(node))
413 return "shape=box3d";
414 else if (SVFUtil::isa<DummyObjVar>(node))
415 return "shape=tab";
416 else
417 return "shape=component";
418 }
419 else if (SVFUtil::isa<RetValPN>(node))
420 {
421 return "shape=Mrecord";
422 }
423 else if (SVFUtil::isa<VarArgValPN>(node))
424 {
425 return "shape=octagon";
426 }
427 else
428 {
429 assert(0 &&
"no such kind!!");
430 }
431 return "";
432 }