ROSE 0.11.145.147
Merger.h
1#ifndef ROSE_BinaryAnalysis_InstructionSemantics_BaseSemantics_Merger_H
2#define ROSE_BinaryAnalysis_InstructionSemantics_BaseSemantics_Merger_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_BINARY_ANALYSIS
5
6#include <Rose/BinaryAnalysis/InstructionSemantics/BaseSemantics/BasicTypes.h>
7
8namespace Rose {
9namespace BinaryAnalysis {
10namespace InstructionSemantics {
11namespace BaseSemantics {
12
14// Merging states
16
34public:
36 typedef MergerPtr Ptr;
37
38private:
39 bool memoryAddressesMayAlias_;
40 bool memoryMergeDebugging_;
41
42protected:
43 Merger();
44
45public:
46 ~Merger();
47
49 static Ptr instance();
50
57 bool memoryAddressesMayAlias() const { return memoryAddressesMayAlias_; }
58 void memoryAddressesMayAlias(bool b) { memoryAddressesMayAlias_ = b; }
68 bool memoryMergeDebugging() const { return memoryMergeDebugging_; }
69 void memoryMergeDebugging(bool b) { memoryMergeDebugging_ = b; }
71};
72
73} // namespace
74} // namespace
75} // namespace
76} // namespace
77
78#endif
79#endif
void memoryMergeDebugging(bool b)
Turn on output for memory merge debugging.
Definition Merger.h:69
MergerPtr Ptr
Shared ownership pointer for Merger.
Definition Merger.h:36
bool memoryAddressesMayAlias() const
Whether memory addresses can alias one another.
Definition Merger.h:57
bool memoryMergeDebugging() const
Turn on output for memory merge debugging.
Definition Merger.h:68
void memoryAddressesMayAlias(bool b)
Whether memory addresses can alias one another.
Definition Merger.h:58
Base class for reference counted objects.
The ROSE library.