408 {
409 if (SVFUtil::isa<ValVar>(node))
410 {
411 if(SVFUtil::isa<GepValVar>(node))
412 return "shape=hexagon";
413 else if (SVFUtil::isa<DummyValVar>(node))
414 return "shape=diamond";
415 else
416 return "shape=box";
417 }
418 else if (SVFUtil::isa<ObjVar>(node))
419 {
420 if(SVFUtil::isa<GepObjVar>(node))
421 return "shape=doubleoctagon";
422 else if(SVFUtil::isa<BaseObjVar>(node))
423 return "shape=box3d";
424 else if (SVFUtil::isa<DummyObjVar>(node))
425 return "shape=tab";
426 else
427 return "shape=component";
428 }
429 else if (SVFUtil::isa<RetValPN>(node))
430 {
431 return "shape=Mrecord";
432 }
433 else if (SVFUtil::isa<VarArgValPN>(node))
434 {
435 return "shape=octagon";
436 }
437 else
438 {
439 assert(0 &&
"no such kind!!");
440 }
441 return "";
442 }