diff options
-rw-r--r-- | mutator-lvl0.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/mutator-lvl0.cpp b/mutator-lvl0.cpp index ce3193b..cb9bf26 100644 --- a/mutator-lvl0.cpp +++ b/mutator-lvl0.cpp @@ -4131,7 +4131,7 @@ private: std::vector<IdentInfo> IdentInfoProto; - unsigned IdenMatchCounter; + Rewriter &Rewrite; }; @@ -4139,7 +4139,10 @@ private: class MCDCDF87 : public MatchFinder::MatchCallback { public: - MCDCDF87 (Rewriter &Rewrite) : Rewrite(Rewrite) {} + MCDCDF87 (Rewriter &Rewrite) : Rewrite(Rewrite) + { + IsNewEntry = true; + } virtual void run(const MatchFinder::MatchResult &MR) { @@ -4241,7 +4244,10 @@ private: class [[maybe_unused]] MCDCDF88 : public MatchFinder::MatchCallback { public: - MCDCDF88 (Rewriter &Rewrite) : Rewrite(Rewrite) {} + MCDCDF88 (Rewriter &Rewrite) : Rewrite(Rewrite) + { + IsNewEntry = true; + } virtual void run(const MatchFinder::MatchResult &MR) { @@ -4716,8 +4722,6 @@ public: if (MR.Nodes.getNodeAs<clang::BinaryOperator>("mcatc105") != nullptr) { const BinaryOperator* BO = MR.Nodes.getNodeAs<clang::BinaryOperator>("mcatc105"); - const Expr* EXP = MR.Nodes.getNodeAs<clang::Expr>("mcatc105lhs"); - IgnoreImplicitEXP = EXP->IgnoreImpCasts(); DynOpNode = ast_type_traits::DynTypedNode::create<clang::BinaryOperator>(*BO); SL = BO->getLocStart(); @@ -4727,14 +4731,15 @@ public: if (MR.Nodes.getNodeAs<clang::UnaryOperator>("mcatc105uno") != nullptr) { const UnaryOperator* UO = MR.Nodes.getNodeAs<clang::UnaryOperator>("mcatc105uno"); - const Expr* EXP = MR.Nodes.getNodeAs<clang::Expr>("mcatc105lhs"); - IgnoreImplicitEXP = EXP->IgnoreImpCasts(); DynOpNode = ast_type_traits::DynTypedNode::create<clang::UnaryOperator>(*UO); SL = UO->getLocStart(); SL = Devi::SourceLocationHasMacro(SL, Rewrite, "start"); } + const Expr* EXP = MR.Nodes.getNodeAs<clang::Expr>("mcatc105lhs"); + IgnoreImplicitEXP = EXP->IgnoreImpCasts(); + if (Devi::IsTheMatchInSysHeader(CheckSystemHeader, MR, SL)) { return void(); @@ -5977,7 +5982,7 @@ public: break; } - continue; + } } |