aboutsummaryrefslogtreecommitdiffstats
path: root/mutator_aux.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--mutator_aux.h57
1 files changed, 2 insertions, 55 deletions
diff --git a/mutator_aux.h b/mutator_aux.h
index a2d1c22..5385742 100644
--- a/mutator_aux.h
+++ b/mutator_aux.h
@@ -30,14 +30,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.*
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Rewrite/Core/Rewriter.h"
-#include "tinyxml2/tinyxml2.h"
/*********************************************************************************************************************/
-/*Mcros and Definitions*/
+/*Macros and definitions*/
#define CheckSLValidity(SL) \
if (!SL.isValid()) {return void();}
/*********************************************************************************************************************/
using namespace clang;
-using namespace tinyxml2;
/*********************************************************************************************************************/
namespace Devi {
enum class NodeKind {NoValue, VarDecl, FieldDecl, RecordDecl, LabelDecl, FunctionDecl, TypedefDecl, ParmVarDecl, EnumDecl, EnumConstDecl};
@@ -64,60 +62,9 @@ bool IsTheMatchInMainFile(bool MainFileFlag, bool MainFile, SourceLocation SL);
bool IsTheMatchInMainFile(bool MainFileFlag, bool MainFile);
/*********************************************************************************************************************/
-/*@DEVI- for both report classes, if the program gets terminated, since the destructor does not close
-the report files, what happens to them is implementation-defined in case of let's say an exit, but since
-we erase the files everytime a new instance of mutator-lvl0 is called, we are fine. or so i think.*/
-/*@DEVI- in case of a crash, the XML report will only hold the base node, while the JSON report will
-contain all the reports up until the crash. tinyxml2 writes the nodes to file on SaveFile which is
-called in SaveReport so that's why.*/
-class XMLReport
-{
-public:
- XMLReport();
-
- void XMLCreateReport(void);
- void XMLAddNode(ASTContext* ASTC, SourceLocation SL, std::string MisraRule, std::string Description);
- /*overloaded for rule checks that announce the result on onendoftranslation instead of run
- since they dont have access to matchresult or astcontext.*/
- void XMLAddNode(FullSourceLoc FSL, SourceLocation SL, std::string MisraRule, std::string Description);
- /*another overload to support the xml output for PPCallbacks.*/
- void XMLAddNode(const SourceManager &SM, SourceLocation SL, std::string MisraRule, std::string Description);
-
- void XMLAddNode(std::string FilePath, std::string MisraRule, std::string Description);
-
- void XMLAddNode(unsigned Line, unsigned Column, std::string FileName, std::string MisraRule, std::string Description);
-
- void SaveReport(void);
-
-private:
- XMLDocument XMLReportDoc;
- XMLElement* RootPointer;
-};
-/*********************************************************************************************************************/
-class JSONReport
-{
-public:
- JSONReport();
-
- void JSONCreateReport(void);
- void JSONAddElement(ASTContext* ASTC, SourceLocation SL, std::string MisraRule, std::string Description);
- /*overload for checks that announce the result in onendoftranslation unit.*/
- void JSONAddElement(FullSourceLoc FSL, SourceLocation SL, std::string MisraRule, std::string Description);
- /*overload for PPCallbacks.*/
- void JSONAddElement(const SourceManager &SM, SourceLocation SL, std::string MisraRule, std::string Description);
-
- void JSONAddElement(std::string FilePath, std::string MisraRule, std::string Description);
-
- void JSONAddElement(unsigned Line, unsigned Column, std::string FileName, std::string MisraRule, std::string Description);
-
- void CloseReport(void);
-
-private:
- std::ofstream JSONRepFile;
-};
-/*********************************************************************************************************************/
/*end of namespace Devi*/
}
#endif
/*********************************************************************************************************************/
/*last line intentionally left blank.*/
+