diff options
author | user1 <user1@ubuntu> | 2017-04-14 19:31:35 +0000 |
---|---|---|
committer | user1 <user1@ubuntu> | 2017-04-14 19:31:35 +0000 |
commit | 19129256402d71d41fbacaaf2fcea8cc64cb9fba (patch) | |
tree | 14ca6221c2c79fee2897c224fe5b0d4242cb6206 /bruiser/bruiser.h | |
parent | added (simple, not necessarily general) translation of memset() (diff) | |
parent | added some more experimental stuff. right now bruiser can only hijack the main. (diff) | |
download | mutator-19129256402d71d41fbacaaf2fcea8cc64cb9fba.tar.gz mutator-19129256402d71d41fbacaaf2fcea8cc64cb9fba.zip |
Merge branch 'master' of https://github.com/bloodstalker/mutator.git
Diffstat (limited to '')
-rw-r--r-- | bruiser/bruiser.h | 50 |
1 files changed, 49 insertions, 1 deletions
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 <string> +#include <fstream> +/*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.*/ |