aboutsummaryrefslogtreecommitdiffstats
path: root/bruiser/bruiser.h
diff options
context:
space:
mode:
authoruser1 <user1@ubuntu>2017-04-14 19:31:35 +0000
committeruser1 <user1@ubuntu>2017-04-14 19:31:35 +0000
commit19129256402d71d41fbacaaf2fcea8cc64cb9fba (patch)
tree14ca6221c2c79fee2897c224fe5b0d4242cb6206 /bruiser/bruiser.h
parentadded (simple, not necessarily general) translation of memset() (diff)
parentadded some more experimental stuff. right now bruiser can only hijack the main. (diff)
downloadmutator-19129256402d71d41fbacaaf2fcea8cc64cb9fba.tar.gz
mutator-19129256402d71d41fbacaaf2fcea8cc64cb9fba.zip
Merge branch 'master' of https://github.com/bloodstalker/mutator.git
Diffstat (limited to 'bruiser/bruiser.h')
-rw-r--r--bruiser/bruiser.h50
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.*/