mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-27 12:12:10 +00:00
61 lines
920 B
C
61 lines
920 B
C
|
#ifndef __ABL_IR_H__
|
||
|
#define __ABL_IR_H__
|
||
|
|
||
|
#include <cstddef>
|
||
|
|
||
|
// A couple of forward declarations to avoid including too much cruft.
|
||
|
namespace std
|
||
|
{
|
||
|
class string;
|
||
|
}
|
||
|
|
||
|
// Our real stuff
|
||
|
namespace abigail
|
||
|
{
|
||
|
class location
|
||
|
{
|
||
|
location();
|
||
|
location (unsigned opaque);
|
||
|
|
||
|
public:
|
||
|
|
||
|
location(const location&);
|
||
|
friend class location_manager;
|
||
|
};
|
||
|
|
||
|
class location_manager
|
||
|
{
|
||
|
public:
|
||
|
static location create_new_location(const std::string& file,
|
||
|
size_t line,
|
||
|
size_t column);
|
||
|
static void expand_location(const location&,
|
||
|
std::string& file,
|
||
|
size_t& line,
|
||
|
size_t& column);
|
||
|
};
|
||
|
|
||
|
/// \brief A declaration that introduces a scope.
|
||
|
class scope_decl
|
||
|
{
|
||
|
public:
|
||
|
scope_decl();
|
||
|
};
|
||
|
|
||
|
class decl
|
||
|
{
|
||
|
public:
|
||
|
decl(const std::string &name);
|
||
|
std::string& get_name() const;
|
||
|
};
|
||
|
|
||
|
class basic_type
|
||
|
{
|
||
|
public:
|
||
|
basic_type();
|
||
|
|
||
|
};
|
||
|
}
|
||
|
|
||
|
#endif // __ABL_IR_H__
|