ROSE  0.11.50.0
ModelChecker/Types.h
1 #ifndef ROSE_BinaryAnalysis_ModelChecker_Types_H
2 #define ROSE_BinaryAnalysis_ModelChecker_Types_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 
6 #include <memory>
7 
8 namespace Rose {
9 namespace BinaryAnalysis {
10 
14 namespace ModelChecker {
15 
16 class AlwaysTrue;
17 using AlwaysTruePtr = std::shared_ptr<AlwaysTrue>;
18 
19 class BasicBlockUnit;
20 using BasicBlockUnitPtr = std::shared_ptr<BasicBlockUnit>;
21 
22 class Engine;
23 using EnginePtr = std::shared_ptr<Engine>;
24 
25 class ErrorTag;
26 using ErrorTagPtr = std::shared_ptr<ErrorTag>;
27 
28 class Exception;
29 
30 class ExecutionUnit;
31 using ExecutionUnitPtr = std::shared_ptr<ExecutionUnit>;
32 
33 class ExternalFunctionUnit;
34 using ExternalFunctionUnitPtr = std::shared_ptr<ExternalFunctionUnit>;
35 
36 class FailureUnit;
37 using FailureUnitPtr = std::shared_ptr<FailureUnit>;
38 
39 class FastestPathFirst;
40 using FastestPathFirstPtr = std::shared_ptr<FastestPathFirst>;
41 
42 class HasFinalTags;
43 using HasFinalTagsPtr = std::shared_ptr<HasFinalTags>;
44 
45 class InstructionUnit;
46 using InstructionUnitPtr = std::shared_ptr<InstructionUnit>;
47 
48 class LongestPathFirst;
49 using LongestPathFirstPtr = std::shared_ptr<LongestPathFirst>;
50 
51 class NameTag;
52 using NameTagPtr = std::shared_ptr<NameTag>;
53 
54 class NullDerefTag;
55 using NullDerefTagPtr = std::shared_ptr<NullDerefTag>;
56 
57 class OobTag;
58 using OobTagPtr = std::shared_ptr<OobTag>;
59 
60 class ParseError;
61 
62 class Path;
63 using PathPtr = std::shared_ptr<Path>;
64 
65 class PathNode;
66 using PathNodePtr = std::shared_ptr<PathNode>;
67 
68 class PathPredicate;
69 using PathPredicatePtr = std::shared_ptr<PathPredicate>;
70 
71 class PathPrioritizer;
72 using PathPrioritizerPtr = std::shared_ptr<PathPrioritizer>;
73 
74 class PathQueue;
75 using PathQueuePtr = std::shared_ptr<PathQueue>;
76 
77 class Periodic;
78 using PeriodicPtr = std::shared_ptr<Periodic>;
79 
80 class RandomPathFirst;
81 using RandomPathFirstPtr = std::shared_ptr<RandomPathFirst>;
82 
83 class SemanticCallbacks;
84 using SemanticCallbacksPtr = std::shared_ptr<SemanticCallbacks>;
85 
86 class Settings;
87 using SettingsPtr = std::shared_ptr<Settings>;
88 
89 class ShortestPathFirst;
90 using ShortestPathFirstPtr = std::shared_ptr<ShortestPathFirst>;
91 
92 class SourceLister;
93 using SourceListerPtr = std::shared_ptr<SourceLister>;
94 
95 class Tag;
96 using TagPtr = std::shared_ptr<Tag>;
97 
98 class WorkPredicate;
99 using WorkPredicatePtr = std::shared_ptr<WorkPredicate>;
100 
102 void initDiagnostics();
103 
104 namespace P2Model {
105  class SValue;
107 
108  class RiscOperators;
109  using RiscOperatorsPtr = boost::shared_ptr<RiscOperators>;
110 
111  class SemanticCallbacks;
112  using SemanticCallbacksPtr = std::shared_ptr<SemanticCallbacks>;
113 }
114 
116 enum class TestMode {
117  OFF,
118  MAY,
119  MUST
120 };
121 
123 enum class IoMode {
124  WRITE,
125  READ
126 };
127 
128 } // namespace
129 } // namespace
130 } // namespace
131 
132 #endif
133 #endif
boost::filesystem::path Path
Name of entities in a filesystem.
boost::shared_ptr< class RiscOperators > RiscOperatorsPtr
Shared-ownership pointer to concrete RISC operations.
Collection of streams.
Definition: Message.h:1606
ROSE_DLL_API Sawyer::Message::Facility mlog
Diagnostic facility for the ROSE library as a whole.
TestMode
Mode by which comparisons are made.
Detection is reported only if it must occur.
Main namespace for the ROSE library.
IoMode
Direction of data wrt storage.
Sawyer::SharedPointer< class SValue > SValuePtr
Smart-ownership pointer to a concrete semantic value.
void initDiagnostics()
Initialize diagnostics.
Detection is reported if it may occur.