diff options
author | bloodstalker <thabogre@gmail.com> | 2018-08-19 19:36:45 +0000 |
---|---|---|
committer | bloodstalker <thabogre@gmail.com> | 2018-08-19 19:36:45 +0000 |
commit | c0959b173b1358ce8b4e3e02c3cd9166186b1f2e (patch) | |
tree | 24f1f8d455847cb184f43427129a2d04f0532ff4 /mutator_aux.cpp | |
parent | makefile updates for obfuscator and bruiser (diff) | |
download | mutator-c0959b173b1358ce8b4e3e02c3cd9166186b1f2e.tar.gz mutator-c0959b173b1358ce8b4e3e02c3cd9166186b1f2e.zip |
fixes #47. probably a good idea to just wipe and re-clone. also moved m0 to its own folder.
Diffstat (limited to 'mutator_aux.cpp')
-rw-r--r-- | mutator_aux.cpp | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/mutator_aux.cpp b/mutator_aux.cpp deleted file mode 100644 index a382764..0000000 --- a/mutator_aux.cpp +++ /dev/null @@ -1,152 +0,0 @@ - -/***************************************************Project Mutator****************************************************/ -//-*-c++-*- -/*first line intentionally left blank.*/ -/*Copyright (C) 2017 Farzad Sadeghi - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 3 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.*/ -/*********************************************************************************************************************/ -/*inclusion directives*/ -#include "mutator_aux.h" -#include <string> -#include <cassert> -#include <iostream> -#include <fstream> -#include "clang/AST/AST.h" -#include "clang/ASTMatchers/ASTMatchFinder.h" -#include "clang/Basic/SourceManager.h" -#include "clang/Rewrite/Core/Rewriter.h" -#include "tinyxml2/tinyxml2.h" -#include "json/json.hpp" -/*********************************************************************************************************************/ -using namespace clang; -/*********************************************************************************************************************/ -namespace Devi { -/*a simple function that checks the sourcelocations for a macro expansion. returns the sourcelocation without -macro expansion address.*/ -#if 1 -SourceLocation SourceLocationHasMacro [[deprecated("doesnt work")]] (SourceLocation SL, Rewriter &Rewrite, std::string Kind) { - /*does the sourcelocation include a macro expansion?*/ - if ( SL.isMacroID()) { - /*get the expansion range which is startloc and endloc*/ - std::pair <SourceLocation, SourceLocation> expansionRange = Rewrite.getSourceMgr().getImmediateExpansionRange(SL); - if (Kind == "start") { - return (expansionRange.first); - } else if (Kind == "end") { - return (expansionRange.second); - } else { - std::cout << "the third argument of Devi::SourceLocationHasMacro is invalid." << std::endl; - } - } else { - return (SL); - } - return (SL); -} -#endif - -SourceLocation SourceLocationHasMacro(SourceLocation __sl, Rewriter &__rewrite) -{ - if (__sl.isMacroID()) { - return __rewrite.getSourceMgr().getSpellingLoc(__sl); - } else { - return __sl; - } -} - -SourceLocation getSLSpellingLoc(SourceLocation __sl, Rewriter &__rewrite) { - if (__sl.isMacroID()) {return __rewrite.getSourceMgr().getSpellingLoc(__sl);} - else {return __sl;} -} -/*********************************************************************************************************************/ -/*********************************************************************************************************************/ -/*********************************************************************************************************************/ -/*the first argument is the option SysHeader from the mutator-lvl0 cl.*/ -bool IsTheMatchInSysHeader(bool SysHeaderFlag, const ast_matchers::MatchFinder::MatchResult &MR, SourceLocation SL) { - ASTContext *const ASTC = MR.Context; - const SourceManager &SM = ASTC->getSourceManager(); - - if (SM.isInSystemHeader(SL) && !SysHeaderFlag) { - return true; - } else { - return false; - } -} - -bool IsTheMatchInSysHeader(bool SysHeaderFlag, const SourceManager &SM, SourceLocation SL) { - if (SM.isInSystemHeader(SL) && !SysHeaderFlag) { - return true; - } else { - return false; - } -} - -bool IsTheMatchInSysHeader(bool SysHeaderFlag, bool SysHeader, SourceLocation SL) { - if (SysHeader && !SysHeaderFlag) { - return true; - } else { - return false; - } -} - -bool IsTheMatchInSysHeader(bool SysHeaderFlag, bool SysHeader) -{ - if (SysHeader && !SysHeaderFlag) { - return true; - } else { - return false; - } -} -/*********************************************************************************************************************/ -/*********************************************************************************************************************/ -/*********************************************************************************************************************/ -bool IsTheMatchInMainFile(bool MainFileFlag, const ast_matchers::MatchFinder::MatchResult &MR, SourceLocation SL) { - ASTContext *const ASTC = MR.Context; - const SourceManager &SM = ASTC->getSourceManager(); - if (SM.isInMainFile(SL) || (!SM.isInMainFile(SL) && !MainFileFlag)) { - return true; - } else { - return false; - } -} - -bool IsTheMatchInMainFile(bool MainFileFlag, const SourceManager &SM, SourceLocation SL) { - if (SM.isInMainFile(SL) || (!SM.isInMainFile(SL) && !MainFileFlag)) { - return true; - } else { - return false; - } -} - -bool IsTheMatchInMainFile(bool MainFileFlag, bool MainFile, SourceLocation SL) { - if (MainFile || (!MainFile && !MainFileFlag)) { - return true; - } else { - return false; - } -} - -bool IsTheMatchInMainFile(bool MainFileFlag, bool MainFile) { - if (MainFile || (!MainFile && !MainFileFlag)) { - return true; - } else { - return false; - } -} -/*********************************************************************************************************************/ -/*End of namespace Devi*/ -} -/*********************************************************************************************************************/ -/*last line intentionally left blank.*/ - |