#ifndef INCLUDE__BasicBlock_hxx
#define INCLUDE__BasicBlock_hxx
+#include <cassert>
+
class BasicBlock {
public:
- BasicBlock() {}
+ BasicBlock() {
+ next_blocks[0] = 0;
+ next_blocks[1] = 0;
+ }
+
+ uint64_t getStartAddress() const {
+ return start_address;
+ }
- uint64_t getStartAddress() const {
- return start_address;
- }
+ uint64_t getEndAddress() const {
+ return end_address;
+ }
- uint64_t getEndAddress() const {
- return end_address;
- }
+ uint64_t getNextBlock(size_t index) const {
+ assert(index < 2);
+ return next_blocks[index];
+ }
- BasicBlock * const * getNextBlocks() const {
- return next_blocks;
+ void setNextBlock(size_t index, uint64_t address) {
+ assert(index < 2);
+ next_blocks[index] = address;
}
void setStartAddress(uint64_t address) {
}
private:
- uint64_t start_address;
- uint64_t end_address;
+ uint64_t start_address;
+ uint64_t end_address;
- BasicBlock * next_blocks[2];
+ uint64_t next_blocks[2];
};
#endif