#include namespace clice { struct MacroDefinition { std::string name; std::string definition; clang::SourceRange range; }; struct MacroExpansion { std::string name; std::string expansion; }; class Directive { private: std::string name; clang::SourceRange range; std::vector definitions; std::vector expansions; public: static std::unique_ptr create(clang::SourceManager& sourceManager, clang::SourceRange range); }; } // namespace clice