From 989518ead00d635b11fc2384feecd66cb2e3e50a Mon Sep 17 00:00:00 2001 From: bloodstalker Date: Thu, 13 Apr 2017 13:44:08 +0430 Subject: adding some infrastructure.wip. --- bruiser/bruiser.h | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'bruiser/bruiser.h') diff --git a/bruiser/bruiser.h b/bruiser/bruiser.h index cf22e5e..fcfcaec 100644 --- a/bruiser/bruiser.h +++ b/bruiser/bruiser.h @@ -27,9 +27,57 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.* /*included modules*/ /*project headers*/ /*standard library headers*/ +#include +#include +/*clang headers*/ +#include "clang/AST/ASTContext.h" +#include "clang/AST/Expr.h" +#include "clang/AST/Type.h" +#include "clang/AST/ASTTypeTraits.h" +/*llvm headers*/ + +/**********************************************************************************************************************/ +/*using*/ +using namespace llvm; +using namespace clang; +/**********************************************************************************************************************/ +namespace bruiser +{ +/**********************************************************************************************************************/ +/** + * @brief This class hanhles the logging for bruiser. + */ +class BruiserReport +{ + public: + BruiserReport (); + + ~BruiserReport(); + + bool PrintToLog(std::string __in_arg); + + private: + std::ofstream BruiserLog; +}; +/**********************************************************************************************************************/ +/** + * @brief looks through types. + */ +class TypeInfo +{ + public: + explicit TypeInfo(const clang::ast_type_traits::DynTypedNode* __dtn); + + ~TypeInfo(); + + const clang::Type* getTypeInfo(clang::ASTContext* __astc); + + private: + const clang::ast_type_traits::DynTypedNode* DTN; +}; /**********************************************************************************************************************/ -/*externals*/ /**********************************************************************************************************************/ +} // end of namespace bruiser #endif /*last line intentionally left balnk.*/ -- cgit v1.2.3