ROSE  0.11.125.0
Rose/Tree/Exception.h
1 #ifndef ROSE_Tree_Exception_H
2 #define ROSE_Tree_Exception_H
3 #include <Rose/Tree/BasicTypes.h>
4 
5 #include <Rose/Exception.h>
6 
7 #include <string>
8 
9 namespace Rose {
10 namespace Tree {
11 
13 class Exception: public Rose::Exception {
14 public:
17 
19  Exception(const std::string &mesg, const BasePtr&);
20  ~Exception();
21 };
22 
26 class InsertionError: public Exception {
27 public:
29  explicit InsertionError(const BasePtr&);
30  ~InsertionError();
31 };
32 
36 class CycleError: public Exception {
37 public:
39  explicit CycleError(const BasePtr&);
40  ~CycleError();
41 };
42 
43 } // namespace
44 } // namespace
45 #endif
Base class for errors related to the AST.
Error when attaching a vertex to a tree and the vertex is already attached somewhere else...
Main namespace for the ROSE library.
InsertionError(const BasePtr &)
Construct a new error with the vertex that caused the error.
BasePtr vertex
Vertex that caused the error.
Exception(const std::string &mesg, const BasePtr &)
Construct a new error with the specified message and the causing vertex.
std::shared_ptr< Base > BasePtr
Shared-ownership pointer for Base.
CycleError(const BasePtr &)
Construct a new error with the node that caused the error.
Error when attaching a vertex to a tree would cause a cycle.
Base class for all ROSE exceptions.
Definition: Rose/Exception.h:9