421 {
422 if (SVFUtil::isa<ValVar>(node))
423 {
424 if(SVFUtil::isa<GepValVar>(node))
425 return "shape=hexagon";
426 else if (SVFUtil::isa<DummyValVar>(node))
427 return "shape=diamond";
428 else
429 return "shape=box";
430 }
431 else if (SVFUtil::isa<ObjVar>(node))
432 {
433 if(SVFUtil::isa<GepObjVar>(node))
434 return "shape=doubleoctagon";
435 else if(SVFUtil::isa<BaseObjVar>(node))
436 return "shape=box3d";
437 else if (SVFUtil::isa<DummyObjVar>(node))
438 return "shape=tab";
439 else
440 return "shape=component";
441 }
442 else if (SVFUtil::isa<RetValPN>(node))
443 {
444 return "shape=Mrecord";
445 }
446 else if (SVFUtil::isa<VarArgValPN>(node))
447 {
448 return "shape=octagon";
449 }
450 else
451 {
452 assert(0 &&
"no such kind!!");
453 }
454 return "";
455 }