aboutsummaryrefslogtreecommitdiffstats
path: root/bruiser/bruiser.h
diff options
context:
space:
mode:
authorbloodstalker <thabogre@gmail.com>2017-04-13 09:14:08 +0000
committerbloodstalker <thabogre@gmail.com>2017-04-13 09:14:08 +0000
commit989518ead00d635b11fc2384feecd66cb2e3e50a (patch)
tree40550ec8c5d1b4afac7ecf5f15f462b20e497bba /bruiser/bruiser.h
parentadding some infrastructure.wip. (diff)
downloadmutator-989518ead00d635b11fc2384feecd66cb2e3e50a.tar.gz
mutator-989518ead00d635b11fc2384feecd66cb2e3e50a.zip
adding some infrastructure.wip.
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.*/