1 #ifndef _BPatch_sourceBlock_h_
2 #define _BPatch_sourceBlock_h_
5 #include "BPatch_dll.h"
6 #include "BPatch_Vector.h"
7 #include "BPatch_Set.h"
9 /** this class represents the basic blocks in the source
10 * code. The source code basic blocks are calculated according to the
11 * machine code basic blocks. The constructors can be called by only
12 * BPatch_flowGraph class since we do not want to make the user
13 * create source blocks that does not exist and we do not want the user
14 * to change the start and end line numbers of the source block
16 * @see BPatch_flowGraph
17 * @see BPatch_basicBlock
20 class BPATCH_DLL_EXPORT BPatch_sourceBlock{
21 friend class BPatch_flowGraph;
22 friend ostream& operator<<(ostream&,BPatch_sourceBlock&);
25 /** set of source line numbers derived from debug info*/
26 BPatch_Set<unsigned short> sourceLines;
29 /** method to return vector of lines in the source block */
30 void getLines(BPatch_Vector<unsigned short>&);
32 /** destructor for the sourceBlock class */
33 ~BPatch_sourceBlock() {}
36 /** constructor of the class */
39 /** constructor of the class */
40 BPatch_sourceBlock(BPatch_Set<unsigned short>& sln);
43 #endif /* _BPatch_sourceBlock_h_ */