/** * pnode -- a pnode identifier for provtraces. * * Captures both type and pnum. */ class pnode { enum PNODE_TYPE { FILE, PROC }; PNODE_TYPE ptype; int pnum; static int next_pnum = 0; /** * Create a new pnode of the specified type. */ public pnode(char type) { switch ( type ) { case 'f': ptype = PNODE_TYPE.FILE; break; case 'p': ptype = PNODE_TYPE.PROC; break; default: System.out.println( "Unsupported pnode type: " + type ); System.exit(-1); } pnum = next_pnum++; } public int getPnum() { return pnum; } public String getType() { switch ( ptype ) { case FILE: return"f"; case PROC: return "p"; } return "UNKNOWN"; } public String toString() { return getType() + pnum; } }