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