ROSE  0.11.2.0
BaseSemanticsException.h
1 #ifndef ROSE_BinaryAnalysis_InstructionSemantics2_BaseSemantics_Exception_H
2 #define ROSE_BinaryAnalysis_InstructionSemantics2_BaseSemantics_Exception_H
3 #include <rosePublicConfig.h>
4 #ifdef ROSE_BUILD_BINARY_ANALYSIS_SUPPORT
5 
6 #include <BaseSemanticsTypes.h>
7 #include <RoseException.h>
8 
9 namespace Rose {
10 namespace BinaryAnalysis {
11 namespace InstructionSemantics2 {
12 namespace BaseSemantics {
13 
15 // Exceptions
17 
19 class Exception: public Rose::Exception {
20 public:
21  SgAsmInstruction *insn;
22  Exception(const std::string &mesg, SgAsmInstruction *insn): Rose::Exception(mesg), insn(insn) {}
23  void print(std::ostream&) const;
24 };
25 
26 class NotImplemented: public Exception {
27 public:
28  NotImplemented(const std::string &mesg, SgAsmInstruction *insn)
29  : Exception(mesg, insn) {}
30 };
31 
32 std::ostream& operator<<(std::ostream&, const Exception&);
33 
34 } // namespace
35 } // namespace
36 } // namespace
37 } // namespace
38 
39 #endif
40 #endif
Base class for machine instructions.
Main namespace for the ROSE library.
Base class for all ROSE exceptions.
Definition: RoseException.h:9
Base class for exceptions thrown by instruction semantics.