aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--mutator-lvl0.cpp1131
1 files changed, 762 insertions, 369 deletions
diff --git a/mutator-lvl0.cpp b/mutator-lvl0.cpp
index b7e4974..fdded89 100644
--- a/mutator-lvl0.cpp
+++ b/mutator-lvl0.cpp
@@ -137,11 +137,14 @@ public:
return void();
}
- std::cout << "14.9:" << "\"Else\" statement has no braces {}:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.9:" << "\"Else\" statement has no braces {}:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.9", "\"Else\" statement has no braces {}: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.9", "\"Else\" statement has no braces {}: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.9", "\"Else\" statement has no braces {}: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.9", "\"Else\" statement has no braces {}: ");
+ }
}
else
{
@@ -171,11 +174,14 @@ public:
return void();
}
- std::cout << "14.9:" << "\"If\" statement has no braces {}:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.9:" << "\"If\" statement has no braces {}:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.9", "\"If\" statement has no braces {}: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.9", "\"If\" statement has no braces {}: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.9", "\"If\" statement has no braces {}: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.9", "\"If\" statement has no braces {}: ");
+ }
}
else
{
@@ -206,11 +212,14 @@ public:
return void();
}
- std::cout << "14.10:" << "\"If-Else If\" statement has no ending Else:";
- std::cout << IFESL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, IFESL))
+ {
+ std::cout << "14.10:" << "\"If-Else If\" statement has no ending Else:";
+ std::cout << IFESL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, IFESL, "14.10", "\"If-Else If\" statement has no ending Else: ");
- JSONDocOUT.JSONAddElement(MR.Context, IFESL, "14.10", "\"If-Else If\" statement has no ending Else: ");
+ XMLDocOut.XMLAddNode(MR.Context, IFESL, "14.10", "\"If-Else If\" statement has no ending Else: ");
+ JSONDocOUT.JSONAddElement(MR.Context, IFESL, "14.10", "\"If-Else If\" statement has no ending Else: ");
+ }
}
else
{
@@ -280,11 +289,14 @@ public:
return void();
}
- std::cout << "15.3:" << "\"SwitchStmt\" does not have a defaultStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "15.3:" << "\"SwitchStmt\" does not have a defaultStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "15.3", "\"SwitchStmt\" does not have a defaultStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "15.3", "\"SwitchStmt\" does not have a defaultStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "15.3", "\"SwitchStmt\" does not have a defaultStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "15.3", "\"SwitchStmt\" does not have a defaultStmt: ");
+ }
}
else
{
@@ -321,7 +333,7 @@ public:
ASTContext::DynTypedNodeList NodeList = ASTC->getParents(*CS);
- /*assumptions:nothing has more than one parent in C.*/
+ /*@DEVI-assumptions:nothing has more than one parent in C.*/
ast_type_traits::DynTypedNode ParentNode = NodeList[0];
ast_type_traits::ASTNodeKind ParentNodeKind = ParentNode.getNodeKind();
@@ -330,11 +342,14 @@ public:
if (StringKind != "SwitchStmt")
{
- std::cout << "15.1:" << "\"CaseStmt\" has a CompoundStmt ancestor that is not the child of the SwitchStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "15.1:" << "\"CaseStmt\" has a CompoundStmt ancestor that is not the child of the SwitchStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "15.1", "\"CaseStmt\" has a CompoundStmt ancestor that is not the child of the SwitchStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "15.1", "\"CaseStmt\" has a CompoundStmt ancestor that is not the child of the SwitchStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "15.1", "\"CaseStmt\" has a CompoundStmt ancestor that is not the child of the SwitchStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "15.1", "\"CaseStmt\" has a CompoundStmt ancestor that is not the child of the SwitchStmt: ");
+ }
}
}
else
@@ -366,11 +381,14 @@ public:
return void();
}
- std::cout << "15.5:" << "\"SwitchStmt\" does not have a CaseStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "15.5:" << "\"SwitchStmt\" does not have a CaseStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "15.5", "\"SwitchStmt\" does not have a CaseStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "15.5", "\"SwitchStmt\" does not have a CaseStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "15.5", "\"SwitchStmt\" does not have a CaseStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "15.5", "\"SwitchStmt\" does not have a CaseStmt: ");
+ }
}
else
{
@@ -403,11 +421,14 @@ public:
return void();
}
- std::cout << "16.1:" << "\"FunctionDecl\" is variadic:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "16.1:" << "\"FunctionDecl\" is variadic:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "16.1", "\"FunctionDecl\" is variadic: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "16.1", "\"FunctionDecl\" is variadic: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "16.1", "\"FunctionDecl\" is variadic: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "16.1", "\"FunctionDecl\" is variadic: ");
+ }
}
}
else
@@ -440,6 +461,16 @@ public:
return void();
}
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ /*intentionally left blank*/
+ }
+ else
+ {
+ return void();
+ }
+
+
std::string FuncNameStr = FD->getNameInfo().getAsString();
if (CE->getDirectCallee())
@@ -498,6 +529,15 @@ public:
return void();
}
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ /*intentionally left blank*/
+ }
+ else
+ {
+ return void();
+ }
+
SourceLocation SLDcl = FDcl->getLocStart();
SLDcl = Devi::SourceLocationHasMacro(SLDcl, Rewrite, "start");
@@ -577,11 +617,14 @@ public:
}
else
{
- std::cout << "20.4:" << "Dynamic heap memory allocation used:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "20.4:" << "Dynamic heap memory allocation used:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "20.4", "Dynamic heap memory allocation used: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "20.4", "Dynamic heap memory allocation used: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "20.4", "Dynamic heap memory allocation used: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "20.4", "Dynamic heap memory allocation used: ");
+ }
}
}
/*end of 20.4*/
@@ -595,11 +638,14 @@ public:
}
else
{
- std::cout << "20.7:" << "Use of lonjmp is illegal:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "20.7:" << "Use of lonjmp is illegal:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "20.7", "Use of longjmp is illegal: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "20.7", "Use of longjmp is illegal: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "20.7", "Use of longjmp is illegal: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "20.7", "Use of longjmp is illegal: ");
+ }
}
}
/*end of 20.7*/
@@ -613,11 +659,14 @@ public:
}
else
{
- std::cout << "20.10:" << "Use of atof,atoi and atol is illegal:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "20.10:" << "Use of atof,atoi and atol is illegal:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "20.10", "Use of atof,atoi and atol is illegal: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "20.10", "Use of atof,atoi and atol is illegal: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "20.10", "Use of atof,atoi and atol is illegal: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "20.10", "Use of atof,atoi and atol is illegal: ");
+ }
}
}
/*end of 20.10*/
@@ -631,11 +680,14 @@ public:
}
else
{
- std::cout << "20.11:" << "Use of abort,exit,getenv and system is illegal:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "20.11:" << "Use of abort,exit,getenv and system is illegal:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "20.11", "Use of abort,exit,getenv and system is illegal : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "20.11", "Use of abort,exit,getenv and system is illegal : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "20.11", "Use of abort,exit,getenv and system is illegal : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "20.11", "Use of abort,exit,getenv and system is illegal : ");
+ }
}
}
/*end of 20.11*/
@@ -648,11 +700,14 @@ public:
}
else
{
- std::cout << "16.6:" << "CallExpr number of arguments does not equal the number of parameters in the declaration:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "16.6:" << "CallExpr number of arguments does not equal the number of parameters in the declaration:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "16.6", "CallExpr number of arguments does not equal the number of parameters in the declaration: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "16.6", "CallExpr number of arguments does not equal the number of parameters in the declaration: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "16.6", "CallExpr number of arguments does not equal the number of parameters in the declaration: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "16.6", "CallExpr number of arguments does not equal the number of parameters in the declaration: ");
+ }
}
}
}
@@ -688,6 +743,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
SourceLocation SLE = RT->getLocEnd();
SLE = Devi::SourceLocationHasMacro(SLE, Rewrite, "end");
@@ -730,6 +790,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
CastKind CK = ICE->getCastKind();
if (CK == CK_FunctionToPointerDecay)
@@ -808,11 +873,14 @@ public:
}
else
{
- std::cout << "18.4:" << "Union declared:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "18.4:" << "Union declared:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "18.4", "Union declared: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "18.4", "Union declared: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "18.4", "Union declared: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "18.4", "Union declared: ");
+ }
}
std::string MatchedName = RD->getNameAsString();
@@ -905,11 +973,14 @@ public:
}
else
{
- std::cout << "18.1:" << "Incomplete struct declared:";
- std::cout << StructInfoProto[x].StructSL << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, StructInfoProto[x].FSL.getManager().isInMainFile(StructInfoProto[x].SL), StructInfoProto[x].SL))
+ {
+ std::cout << "18.1:" << "Incomplete struct declared:";
+ std::cout << StructInfoProto[x].StructSL << ":" << std::endl;
- XMLDocOut.XMLAddNode(StructInfoProto[x].FSL, StructInfoProto[x].SL, "18.1", "Incomplete struct declared: ");
- JSONDocOUT.JSONAddElement(StructInfoProto[x].FSL, StructInfoProto[x].SL, "18.1", "Incomplete struct declared: ");
+ XMLDocOut.XMLAddNode(StructInfoProto[x].FSL, StructInfoProto[x].SL, "18.1", "Incomplete struct declared: ");
+ JSONDocOUT.JSONAddElement(StructInfoProto[x].FSL, StructInfoProto[x].SL, "18.1", "Incomplete struct declared: ");
+ }
}
}
}
@@ -924,11 +995,14 @@ public:
}
else
{
- std::cout << "18.1:" << "Incomplete union declared:";
- std::cout << UnionInfoProto[x].UnionSL << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, UnionInfoProto[x].FSL.getManager().isInMainFile(UnionInfoProto[x].SL), UnionInfoProto[x].SL))
+ {
+ std::cout << "18.1:" << "Incomplete union declared:";
+ std::cout << UnionInfoProto[x].UnionSL << ":" << std::endl;
- XMLDocOut.XMLAddNode(UnionInfoProto[x].FSL, UnionInfoProto[x].SL, "18.1", "Incomplete union declared: ");
- JSONDocOUT.JSONAddElement(UnionInfoProto[x].FSL, UnionInfoProto[x].SL, "18.1", "Incomplete union declared: ");
+ XMLDocOut.XMLAddNode(UnionInfoProto[x].FSL, UnionInfoProto[x].SL, "18.1", "Incomplete union declared: ");
+ JSONDocOUT.JSONAddElement(UnionInfoProto[x].FSL, UnionInfoProto[x].SL, "18.1", "Incomplete union declared: ");
+ }
}
}
}
@@ -992,12 +1066,15 @@ public:
}
else
{
- /*this part is ueless since the clang parser wont let such a bitfield through.*/
- std::cout << "6.4:" << "BitField has a type other than int or unsigned int:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ /*@DEVI-this part is ueless since the clang parser wont let such a bitfield through.*/
+ std::cout << "6.4:" << "BitField has a type other than int or unsigned int:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "6.4", "BitField has a type other than int or unsigned int: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "6.4", "BitField has a type other than int or unsigned int: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "6.4", "BitField has a type other than int or unsigned int: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "6.4", "BitField has a type other than int or unsigned int: ");
+ }
}
}
@@ -1014,11 +1091,14 @@ public:
}
else
{
- std::cout << "6.5:" << "BitField of type signed integer has a length of less than 2 in bits:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "6.5:" << "BitField of type signed integer has a length of less than 2 in bits:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "6.5", "BitField of type signed integer has a length of less than 2 in bits : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "6.5", "BitField of type signed integer has a length of less than 2 in bits : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "6.5", "BitField of type signed integer has a length of less than 2 in bits : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "6.5", "BitField of type signed integer has a length of less than 2 in bits : ");
+ }
}
}
}
@@ -1083,11 +1163,14 @@ public:
}
else
{
- std::cout << "8.5:" << "Function definition inside a header file:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "8.5:" << "Function definition inside a header file:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "8.5", "Function definition inside a header file : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "8.5", "Function definition inside a header file : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "8.5", "Function definition inside a header file : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "8.5", "Function definition inside a header file : ");
+ }
}
}
/*end of 8.5*/
@@ -1109,14 +1192,17 @@ public:
}
else
{
- std::cout << "19.5:" << "Macro defined inside a block:";
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "19.5:" << "Macro defined inside a block:";
#if 0
- std::cout << MacroDefSourceLocation[x].printToString(*MR.SourceManager) << " " << MacroNameString[x] << "\n" << std::endl;
+ std::cout << MacroDefSourceLocation[x].printToString(*MR.SourceManager) << " " << MacroNameString[x] << "\n" << std::endl;
#endif
- std::cout << MacroDefSourceLocation[x].printToString(*MR.SourceManager) << ":" << std::endl;
+ std::cout << MacroDefSourceLocation[x].printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, MacroDefSourceLocation[x], "19.5", "Macro defined inside a block : ");
- JSONDocOUT.JSONAddElement(MR.Context, MacroDefSourceLocation[x], "19.5", "Macro defined inside a block : ");
+ XMLDocOut.XMLAddNode(MR.Context, MacroDefSourceLocation[x], "19.5", "Macro defined inside a block : ");
+ JSONDocOUT.JSONAddElement(MR.Context, MacroDefSourceLocation[x], "19.5", "Macro defined inside a block : ");
+ }
}
}
}
@@ -1133,11 +1219,14 @@ public:
}
else
{
- std::cout << "19.5:" << "Macro undefined inside a block:";
- std::cout << MacroUndefSourceLocation[x].printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "19.5:" << "Macro undefined inside a block:";
+ std::cout << MacroUndefSourceLocation[x].printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, MacroUndefSourceLocation[x], "19.5", "Macro undefined inside a block : ");
- JSONDocOUT.JSONAddElement(MR.Context, MacroUndefSourceLocation[x], "19.5", "Macro undefined inside a block : ");
+ XMLDocOut.XMLAddNode(MR.Context, MacroUndefSourceLocation[x], "19.5", "Macro undefined inside a block : ");
+ JSONDocOUT.JSONAddElement(MR.Context, MacroUndefSourceLocation[x], "19.5", "Macro undefined inside a block : ");
+ }
}
}
}
@@ -1194,11 +1283,14 @@ public:
}
else
{
- std::cout << "8.1:" << "Function does not have a FunctionDecl that is not a definition:";
- std::cout << FuncInfoProto[x].StrcSL << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, FuncInfoProto[x].FuncFSL.getManager().isInMainFile(FuncInfoProto[x].FuncSL), FuncInfoProto[x].FuncSL))
+ {
+ std::cout << "8.1:" << "Function does not have a FunctionDecl that is not a definition:";
+ std::cout << FuncInfoProto[x].StrcSL << ":" << std::endl;
- XMLDocOut.XMLAddNode(FuncInfoProto[x].FuncFSL, FuncInfoProto[x].FuncSL, "8.1", "Function does not have a FunctionDecl that is not a definition : ");
- JSONDocOUT.JSONAddElement(FuncInfoProto[x].FuncFSL, FuncInfoProto[x].FuncSL, "8.1", "Function does not have a FunctionDecl that is not a definition : ");
+ XMLDocOut.XMLAddNode(FuncInfoProto[x].FuncFSL, FuncInfoProto[x].FuncSL, "8.1", "Function does not have a FunctionDecl that is not a definition : ");
+ JSONDocOUT.JSONAddElement(FuncInfoProto[x].FuncFSL, FuncInfoProto[x].FuncSL, "8.1", "Function does not have a FunctionDecl that is not a definition : ");
+ }
}
}
}
@@ -1301,11 +1393,14 @@ public:
}
else
{
- std::cout << "8.5:" << "Variable definition inside a header file:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "8.5:" << "Variable definition inside a header file:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "8.5", "Variable definition inside a header file : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "8.5", "Variable definition inside a header file : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "8.5", "Variable definition inside a header file : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "8.5", "Variable definition inside a header file : ");
+ }
}
}
/*end of 8.5*/
@@ -1323,12 +1418,15 @@ public:
}
else
{
- /*end of 8.12*/
- std::cout << "8.12:" << "External array type is incomplete and has no initialization:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ /*end of 8.12*/
+ std::cout << "8.12:" << "External array type is incomplete and has no initialization:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "8.12", "External array type is incomplete and has no initialization : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "8.12", "External array type is incomplete and has no initialization : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "8.12", "External array type is incomplete and has no initialization : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "8.12", "External array type is incomplete and has no initialization : ");
+ }
}
}
}
@@ -1356,11 +1454,14 @@ public:
}
else
{
- std::cout << "9.2:" << "Curly braces not used:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "9.2:" << "Curly braces not used:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "9.2", "Curly braces not used : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "9.2", "Curly braces not used : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "9.2", "Curly braces not used : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "9.2", "Curly braces not used : ");
+ }
}
}
}
@@ -1378,11 +1479,14 @@ public:
}
else
{
- std::cout << "9.1:" << "staic local variable does not have initialization:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "9.1:" << "staic local variable does not have initialization:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "9.1", "staic local variable does not have initialization : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "9.1", "staic local variable does not have initialization : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "9.1", "staic local variable does not have initialization : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "9.1", "staic local variable does not have initialization : ");
+ }
}
}
}
@@ -1414,6 +1518,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
unsigned int NumInits [[maybe_unused]] = ILE->getNumInits();
#if 0
@@ -1486,12 +1595,15 @@ public:
}
else
{
- /*in breach of misrac*/
- std::cout << "9.3:" << "first enumeration has integerliteral initialization but not all enumerations do:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ /*in breach of misrac*/
+ std::cout << "9.3:" << "first enumeration has integerliteral initialization but not all enumerations do:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "9.3", "first enumeration has integerliteral initialization but not all enumerations do : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "9.3", "first enumeration has integerliteral initialization but not all enumerations do : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "9.3", "first enumeration has integerliteral initialization but not all enumerations do : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "9.3", "first enumeration has integerliteral initialization but not all enumerations do : ");
+ }
}
}
else
@@ -1509,12 +1621,15 @@ public:
}
else
{
- /*in breach of misrac*/
- std::cout << "9.3:" << "first enumeration does not have integerliteral initialization but at least one other enumeration does:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ /*in breach of misrac*/
+ std::cout << "9.3:" << "first enumeration does not have integerliteral initialization but at least one other enumeration does:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "9.3", "first enumeration does not have integerliteral initialization but at least one other enumeration does : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "9.3", "first enumeration does not have integerliteral initialization but at least one other enumeration does : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "9.3", "first enumeration does not have integerliteral initialization but at least one other enumeration does : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "9.3", "first enumeration does not have integerliteral initialization but at least one other enumeration does : ");
+ }
}
}
else
@@ -1562,6 +1677,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
ASTContext *const ASTC = MR.Context;
if (EXP->HasSideEffects(*ASTC, true))
@@ -1598,6 +1718,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
ASTContext *const ASTC = MR.Context;
if (EXP->HasSideEffects(*ASTC, true))
@@ -1663,11 +1788,14 @@ public:
}
else
{
- std::cout << "12.5:" << "RHS and/or LHS operands are not primary expressions:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "12.5:" << "RHS and/or LHS operands are not primary expressions:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "12.5", "RHS and/or LHS operands are not primary expressions : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "12.5", "RHS and/or LHS operands are not primary expressions : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "12.5", "RHS and/or LHS operands are not primary expressions : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "12.5", "RHS and/or LHS operands are not primary expressions : ");
+ }
}
}
}
@@ -1698,6 +1826,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
if (!EXP->isKnownToHaveBooleanValue())
{
std::cout << "12.6:" << "RHS and/or LHS operands are not effectively-boolean values:";
@@ -1732,6 +1865,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
QualType QT = EXP->getType();
const clang::Type* TP = QT.getTypePtr();
@@ -1771,6 +1909,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
QualType RQT = RHS->getType();
QualType LQT = LHS->getType();
@@ -1823,6 +1966,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
QualType QT = EXP->getType();
const clang::Type* TP = QT.getTypePtr();
@@ -1861,6 +2009,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
std::cout << "12.10:" << "Comma used:";
std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
@@ -1892,6 +2045,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
std::cout << "12.13:" << "Unary ++ or -- have been used in an expr with other operators:";
std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
@@ -1923,6 +2081,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
if (EXP->isKnownToHaveBooleanValue())
{
std::cout << "13.1:" << "assignment operator used in an expr that is known to return boolean:";
@@ -1957,6 +2120,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
if (!EXP->isKnownToHaveBooleanValue())
{
std::cout << "13.2:" << "Implicit test of an expr against zero which is not known to return a boolean result:";
@@ -2005,11 +2173,14 @@ public:
}
else
{
- std::cout << "13.3:" << "Float type expression checked for equality/inequality:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "13.3:" << "Float type expression checked for equality/inequality:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "13.3", "Float type expression checked for equality/inequality: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "13.3", "Float type expression checked for equality/inequality: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "13.3", "Float type expression checked for equality/inequality: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "13.3", "Float type expression checked for equality/inequality: ");
+ }
}
}
}
@@ -2058,12 +2229,15 @@ public:
}
else
{
- std::cout << "13.4:" << "Float type used in the controlling expression of a forstmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- AlreadyHaveAHit = true;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "13.4:" << "Float type used in the controlling expression of a forstmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ AlreadyHaveAHit = true;
- XMLDocOut.XMLAddNode(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
+ }
}
}
}
@@ -2082,12 +2256,15 @@ public:
}
else
{
- std::cout << "13.4:" << "Float type used in the controlling expression of a forstmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- AlreadyHaveAHit = true;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "13.4:" << "Float type used in the controlling expression of a forstmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ AlreadyHaveAHit = true;
- XMLDocOut.XMLAddNode(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "13.4", "Float type used in the controlling expression of a forstmt: ");
+ }
}
}
}
@@ -2169,11 +2346,14 @@ public:
}
else
{
- std::cout << "13.6:" << "ForStmt controlling variable modified in the body of the loop:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "13.6:" << "ForStmt controlling variable modified in the body of the loop:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "13.6", "ForStmt controlling variable modified in the body of the loop: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "13.6", "ForStmt controlling variable modified in the body of the loop: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "13.6", "ForStmt controlling variable modified in the body of the loop: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "13.6", "ForStmt controlling variable modified in the body of the loop: ");
+ }
}
}
}
@@ -2207,6 +2387,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
std::cout << "14.4:" << "GotoStmt used:";
std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
@@ -2238,6 +2423,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
std::cout << "14.5:" << "ContinueStmt used:";
std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
@@ -2302,12 +2492,15 @@ public:
}
else
{
- std::cout << "14.6:" << "More than one BreakStmt used in the loop counter:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- AlreadyTagged = true;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.6:" << "More than one BreakStmt used in the loop counter:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ AlreadyTagged = true;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.6", "More than one BreakStmt used in the loop counter: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.6", "More than one BreakStmt used in the loop counter: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.6", "More than one BreakStmt used in the loop counter: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.6", "More than one BreakStmt used in the loop counter: ");
+ }
}
}
@@ -2359,12 +2552,15 @@ public:
}
else
{
- std::cout << "14.7:" << "More than one ReturnStmt used in the body of FunctionDecl:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- AlreadyTagged = true;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.7:" << "More than one ReturnStmt used in the body of FunctionDecl:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ AlreadyTagged = true;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.7", "More than one ReturnStmt used in the body of FunctionDecl: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.7", "More than one ReturnStmt used in the body of FunctionDecl: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.7", "More than one ReturnStmt used in the body of FunctionDecl: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.7", "More than one ReturnStmt used in the body of FunctionDecl: ");
+ }
}
}
@@ -2402,11 +2598,14 @@ public:
}
else
{
- std::cout << "14.8:" << "ForStmt does not have a child CompoundStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.8:" << "ForStmt does not have a child CompoundStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "ForStmt does not have a child CompoundStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "ForStmt does not have a child CompoundStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "ForStmt does not have a child CompoundStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "ForStmt does not have a child CompoundStmt: ");
+ }
}
}
@@ -2423,11 +2622,14 @@ public:
}
else
{
- std::cout << "14.8:" << "WhileStmt does not have a child CompoundStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.8:" << "WhileStmt does not have a child CompoundStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "WhileStmt does not have a child CompoundStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "WhileStmt does not have a child CompoundStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "WhileStmt does not have a child CompoundStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "WhileStmt does not have a child CompoundStmt: ");
+ }
}
}
@@ -2444,11 +2646,14 @@ public:
}
else
{
- std::cout << "14.8:" << "DoStmt does not have a child CompoundStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.8:" << "DoStmt does not have a child CompoundStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "DoStmt does not have a child CompoundStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "DoStmt does not have a child CompoundStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "DoStmt does not have a child CompoundStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "DoStmt does not have a child CompoundStmt: ");
+ }
}
}
@@ -2465,11 +2670,14 @@ public:
}
else
{
- std::cout << "14.8:" << "SwitchStmt does not have a child CompoundStmt:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "14.8:" << "SwitchStmt does not have a child CompoundStmt:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "SwitchStmt does not have a child CompoundStmt: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "SwitchStmt does not have a child CompoundStmt: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "14.8", "SwitchStmt does not have a child CompoundStmt: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "14.8", "SwitchStmt does not have a child CompoundStmt: ");
+ }
}
}
}
@@ -2497,6 +2705,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
if (EXP->isKnownToHaveBooleanValue())
{
std::cout << "15.4:" << "Switch expression is effectively boolean:";
@@ -2571,11 +2784,14 @@ public:
}
else
{
- std::cout << "11.1:" << "ImplicitCastExpr - FunctionPointerType converted to or from a type other than IntegralType:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "11.1:" << "ImplicitCastExpr - FunctionPointerType converted to or from a type other than IntegralType:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "11.1", "ImplicitCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "11.1", "ImplicitCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "11.1", "ImplicitCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "11.1", "ImplicitCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
+ }
}
}
}
@@ -2588,11 +2804,14 @@ public:
}
else
{
- std::cout << "10.1/2:" << "ImplicitCastExpr - Conversion of FloatingType to or from IntegralType is recommended against:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "10.1/2:" << "ImplicitCastExpr - Conversion of FloatingType to or from IntegralType is recommended against:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "10.1/2", "ImplicitCastExpr - Conversion of FloatingType to or from IntegralType is recommended against: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "10.1/2", "ImplicitCastExpr - Conversion of FloatingType to or from IntegralType is recommended against: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "10.1/2", "ImplicitCastExpr - Conversion of FloatingType to or from IntegralType is recommended against: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "10.1/2", "ImplicitCastExpr - Conversion of FloatingType to or from IntegralType is recommended against: ");
+ }
}
}
@@ -2604,11 +2823,14 @@ public:
}
else
{
- std::cout << "11.3:" << "ImplicitCastExpr - Conversion of PointerType to or from IntegralType is recommended against:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "11.3:" << "ImplicitCastExpr - Conversion of PointerType to or from IntegralType is recommended against:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "11.3", "ImplicitCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "11.3", "ImplicitCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "11.3", "ImplicitCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "11.3", "ImplicitCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
+ }
}
}
@@ -2620,11 +2842,14 @@ public:
}
else
{
- std::cout << "11.x:" << "ImplicitCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "11.x:" << "ImplicitCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "11.x", "ImplicitCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "11.x", "ImplicitCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "11.x", "ImplicitCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "11.x", "ImplicitCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
+ }
}
}
}
@@ -2660,11 +2885,14 @@ public:
}
else
{
- std::cout << "13.7:" << "EffectivelyBooleanExpr's result is known at compile-time:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "13.7:" << "EffectivelyBooleanExpr's result is known at compile-time:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "13.7", "EffectivelyBooleanExpr's result is known at compile-time: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "13.7", "EffectivelyBooleanExpr's result is known at compile-time: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "13.7", "EffectivelyBooleanExpr's result is known at compile-time: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "13.7", "EffectivelyBooleanExpr's result is known at compile-time: ");
+ }
}
}
}
@@ -2790,11 +3018,14 @@ public:
}
else
{
- std::cout << "8.11:" << "Function does not have any external calls but is not declared as static:";
- std::cout << FuncScopeProto[x].DefinitionSL << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, FuncScopeProto[x].FuncScopeFSL.getManager().isInMainFile(FuncScopeProto[x].FuncScopeSL), FuncScopeProto[x].FuncScopeSL))
+ {
+ std::cout << "8.11:" << "Function does not have any external calls but is not declared as static:";
+ std::cout << FuncScopeProto[x].DefinitionSL << ":" << std::endl;
- XMLDocOut.XMLAddNode(FuncScopeProto[x].FuncScopeFSL, FuncScopeProto[x].FuncScopeSL, "8.11", "Function does not have any external calls but is not declared as static : ");
- JSONDocOUT.JSONAddElement(FuncScopeProto[x].FuncScopeFSL, FuncScopeProto[x].FuncScopeSL, "8.11", "Function does not have any external calls but is not declared as static : ");
+ XMLDocOut.XMLAddNode(FuncScopeProto[x].FuncScopeFSL, FuncScopeProto[x].FuncScopeSL, "8.11", "Function does not have any external calls but is not declared as static : ");
+ JSONDocOUT.JSONAddElement(FuncScopeProto[x].FuncScopeFSL, FuncScopeProto[x].FuncScopeSL, "8.11", "Function does not have any external calls but is not declared as static : ");
+ }
}
}
}
@@ -2838,6 +3069,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
std::cout << "16.5:" << "Function does not return anything but is missing the void keyword for the return type:";
std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
@@ -2871,6 +3107,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
SourceRange SR;
SR.setBegin(SL);
SR.setEnd(SLE);
@@ -2920,6 +3161,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
QualType QT = DRE->getType();
const clang::Type* TP = QT.getTypePtr();
@@ -2961,6 +3207,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
QualType QTR = DRER->getType();
QualType QTL = DREL->getType();
@@ -3002,11 +3253,14 @@ public:
}
else
{
- std::cout << "17.4:" << "The only allowed form of pointer arithmetic is array indexing:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "17.4:" << "The only allowed form of pointer arithmetic is array indexing:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
+ }
}
}
@@ -3023,11 +3277,14 @@ public:
}
else
{
- std::cout << "17.4:" << "The only allowed form of pointer arithmetic is array indexing:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "17.4:" << "The only allowed form of pointer arithmetic is array indexing:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "17.4", "The only allowed form of pointer arithmetic is array indexing : ");
+ }
}
}
}
@@ -3123,11 +3380,14 @@ public:
}
else
{
- std::cout << "17.5:" << "Pointer has more than 2 levels of indirection:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "17.5:" << "Pointer has more than 2 levels of indirection:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "17.5", "Pointer has more than 2 levels on indirection : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "17.5", "Pointer has more than 2 levels on indirection : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "17.5", "Pointer has more than 2 levels on indirection : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "17.5", "Pointer has more than 2 levels on indirection : ");
+ }
}
break;
@@ -3192,7 +3452,7 @@ public:
/*@DEVI-the logic here is that we know we have matched a chartype. if its not either a singedinteger or
unsingedinteger, then it is a simple char. otherwise it is signed or unsigned char.*/
-#if 0
+#if 1
if (TP->isSignedIntegerType() || TP->isUnsignedIntegerType())
{
//std::cout << RHSString << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" << SL.printToString(*MR.SourceManager) << std::endl;
@@ -3205,11 +3465,14 @@ public:
}
else
{
- std::cout << "6.2:" << "Sgined or unsigned char type holds characterLiterals:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "6.2:" << "Sgined or unsigned char type holds characterLiterals:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "6.2", "Sgined or unsigned char type holds characterLiterals : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "6.2", "Sgined or unsigned char type holds characterLiterals : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "6.2", "Sgined or unsigned char type holds characterLiterals : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "6.2", "Sgined or unsigned char type holds characterLiterals : ");
+ }
}
}
}
@@ -3230,11 +3493,14 @@ public:
}
else
{
- std::cout << "6.1:" << "Simple char type holds numeric values:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "6.1:" << "Simple char type holds numeric values:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "6.1", "Simple char type holds numeric values : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "6.1", "Simple char type holds numeric values : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "6.1", "Simple char type holds numeric values : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "6.1", "Simple char type holds numeric values : ");
+ }
}
}
}
@@ -3265,6 +3531,11 @@ public:
return void();
}
+ if (!Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ return void();
+ }
+
std::cout << "18.1:" << "ArrayType incomplete at the end of the translation unit:";
std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
@@ -3334,11 +3605,14 @@ public:
}
else
{
- std::cout << "11.1:" << "CStyleCastExpr - FunctionPointerType converted to or from a type other than IntegralType:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "11.1:" << "CStyleCastExpr - FunctionPointerType converted to or from a type other than IntegralType:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "11.1", "CStyleCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "11.1", "CStyleCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "11.1", "CStyleCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "11.1", "CStyleCastExpr - FunctionPointerType converted to or from a type other than IntegralType: ");
+ }
}
}
}
@@ -3351,11 +3625,14 @@ public:
}
else
{
- std::cout << "11.3:" << "CStyleCastExpr - Conversion of PointerType to or from IntegralType is recommended against:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "11.3:" << "CStyleCastExpr - Conversion of PointerType to or from IntegralType is recommended against:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "11.3", "CStyleCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "11.3", "CStyleCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "11.3", "CStyleCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "11.3", "CStyleCastExpr - Conversion of PointerType to or from IntegralType is recommended against: ");
+ }
}
}
@@ -3367,11 +3644,14 @@ public:
}
else
{
- std::cout << "11.x:" << "CStyleCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "11.x:" << "CStyleCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "11.x", "CStyleCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "11.x", "CStyleCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "11.x", "CStyleCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "11.x", "CStyleCastExpr - PointerType has implicit BitCast. This could be caused by a cast removing const or volatile qualifier from the type addressed by a pointer or by a cast to a different function or object type: ");
+ }
}
}
}
@@ -3458,11 +3738,14 @@ public:
}
else
{
- std::cout << "10.1/2:" << "ImplicitCastExpr changes the signedness of the type:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "10.1/2:" << "ImplicitCastExpr changes the signedness of the type:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "10.1/2", "ImplicitCastExpr changes the signedness of the type: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "10.1/2", "ImplicitCastExpr changes the signedness of the type: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "10.1/2", "ImplicitCastExpr changes the signedness of the type: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "10.1/2", "ImplicitCastExpr changes the signedness of the type: ");
+ }
}
}
}
@@ -3475,11 +3758,14 @@ public:
}
else
{
- std::cout << "10.1/2:" << "ImplicitCastExpr is narrowing:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "10.1/2:" << "ImplicitCastExpr is narrowing:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "10.1/2", "ImplicitCastExpr is narrowing: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "10.1/2", "ImplicitCastExpr is narrowing: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "10.1/2", "ImplicitCastExpr is narrowing: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "10.1/2", "ImplicitCastExpr is narrowing: ");
+ }
}
}
@@ -3493,11 +3779,14 @@ public:
}
else
{
- std::cout << "10.3:" << "ImplicitCastExpr is widening for complex integer type:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "10.3:" << "ImplicitCastExpr is widening for complex integer type:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "10.3", "ImplicitCastExpr is widening for complex integer type: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "10.3", "ImplicitCastExpr is widening for complex integer type: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "10.3", "ImplicitCastExpr is widening for complex integer type: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "10.3", "ImplicitCastExpr is widening for complex integer type: ");
+ }
}
}
@@ -3523,11 +3812,14 @@ public:
}
else
{
- std::cout << "10.3:" << "ImplicitCastExpr changes the signedness of the complex integer type:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "10.3:" << "ImplicitCastExpr changes the signedness of the complex integer type:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "10.3", "ImplicitCastExpr changes the signedness of the complex integer type: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "10.3", "ImplicitCastExpr changes the signedness of the complex integer type type: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "10.3", "ImplicitCastExpr changes the signedness of the complex integer type: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "10.3", "ImplicitCastExpr changes the signedness of the complex integer type type: ");
+ }
}
}
}
@@ -3543,11 +3835,14 @@ public:
}
else
{
- std::cout << "10.4:" << "ImplicitCastExpr is widening for complex float type:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "10.4:" << "ImplicitCastExpr is widening for complex float type:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "10.4", "ImplicitCastExpr is widening for complex float type: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "10.4", "ImplicitCastExpr is widening for complex float type: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "10.4", "ImplicitCastExpr is widening for complex float type: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "10.4", "ImplicitCastExpr is widening for complex float type: ");
+ }
}
}
}
@@ -3627,11 +3922,14 @@ public:
}
else
{
- std::cout << "5.2:" << "Object or function has hidden visibility:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "5.2:" << "Object or function has hidden visibility:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "5.2", "Object or function has hidden visibility: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "5.2", "Object or function has hidden visibility: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "5.2", "Object or function has hidden visibility: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "5.2", "Object or function has hidden visibility: ");
+ }
}
}
@@ -3656,11 +3954,14 @@ public:
}
else
{
- std::cout << "5.1:" << "Identifier relies on the signifacance of more than 31 charcaters:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "5.1:" << "Identifier relies on the signifacance of more than 31 charcaters:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "5.1", "Identifier relies on the significance of more than 31 charcaters: ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "5.1", "Identifier relies on the significance of more than 31 charcaters: ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "5.1", "Identifier relies on the significance of more than 31 charcaters: ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "5.1", "Identifier relies on the significance of more than 31 charcaters: ");
+ }
}
}
}
@@ -3703,11 +4004,14 @@ public:
}
else
{
- std::cout << "5.4:" << "tag identifier is not unique:";
- std::cout << iter.SLString << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, iter.FSL.getManager().isInMainFile(iter.SL), iter.SL))
+ {
+ std::cout << "5.4:" << "tag identifier is not unique:";
+ std::cout << iter.SLString << ":" << std::endl;
- XMLDocOut.XMLAddNode(iter.FSL, iter.SL, "5.4", "tag identifier is not unique: ");
- JSONDocOUT.JSONAddElement(iter.FSL, iter.SL, "5.4", "tag identifier is not unique: ");
+ XMLDocOut.XMLAddNode(iter.FSL, iter.SL, "5.4", "tag identifier is not unique: ");
+ JSONDocOUT.JSONAddElement(iter.FSL, iter.SL, "5.4", "tag identifier is not unique: ");
+ }
}
}
@@ -3732,11 +4036,14 @@ public:
}
else
{
- std::cout << "5.3:" << "typedef identifier is not unique:";
- std::cout << iter.SLString << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, iter.FSL.getManager().isInMainFile(iter.SL), iter.SL))
+ {
+ std::cout << "5.3:" << "typedef identifier is not unique:";
+ std::cout << iter.SLString << ":" << std::endl;
- XMLDocOut.XMLAddNode(iter.FSL, iter.SL, "5.3", "typedef identifier is not unique: ");
- JSONDocOUT.JSONAddElement(iter.FSL, iter.SL, "5.3", "typedef identifier is not unique: ");
+ XMLDocOut.XMLAddNode(iter.FSL, iter.SL, "5.3", "typedef identifier is not unique: ");
+ JSONDocOUT.JSONAddElement(iter.FSL, iter.SL, "5.3", "typedef identifier is not unique: ");
+ }
}
}
@@ -3834,13 +4141,16 @@ public:
}
else
{
- std::cout << "8.7:" << "Object (" + iter.ObjNameStr + ") is only being used in one block (" + iter.FirstDaddyName + ") but is not defined inside that block:";
- std::cout << iter.ObjSLStr << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, iter.ObjFSL.getManager().isInMainFile(iter.ObjSL), iter.ObjSL))
+ {
+ std::cout << "8.7:" << "Object (" + iter.ObjNameStr + ") is only being used in one block (" + iter.FirstDaddyName + ") but is not defined inside that block:";
+ std::cout << iter.ObjSLStr << ":" << std::endl;
- XMLDocOut.XMLAddNode(iter.ObjFSL, iter.ObjSL, "8.7", \
- "Object (" + iter.ObjNameStr + ") is only being used in one block (" + iter.FirstDaddyName + ") but is not defined inside that block: ");
- JSONDocOUT.JSONAddElement(iter.ObjFSL, iter.ObjSL, "8.7", \
- "Object (" + iter.ObjNameStr + ") is only being used in one block (" + iter.FirstDaddyName + ") but is not defined inside that block: ");
+ XMLDocOut.XMLAddNode(iter.ObjFSL, iter.ObjSL, "8.7", \
+ "Object (" + iter.ObjNameStr + ") is only being used in one block (" + iter.FirstDaddyName + ") but is not defined inside that block: ");
+ JSONDocOUT.JSONAddElement(iter.ObjFSL, iter.ObjSL, "8.7", \
+ "Object (" + iter.ObjNameStr + ") is only being used in one block (" + iter.FirstDaddyName + ") but is not defined inside that block: ");
+ }
}
}
}
@@ -3933,11 +4243,14 @@ public:
}
else
{
- std::cout << "8.8:" << "External function or object (" + iter.XObjNameStr + ") is defined in more than one file:";
- std::cout << iter.XObjSLStr << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, iter.XObjFSL.getManager().isInMainFile(iter.XObjSL), iter.XObjSL))
+ {
+ std::cout << "8.8:" << "External function or object (" + iter.XObjNameStr + ") is defined in more than one file:";
+ std::cout << iter.XObjSLStr << ":" << std::endl;
- XMLDocOut.XMLAddNode(iter.XObjFSL, iter.XObjSL, "8.8", "External function or object (" + iter.XObjNameStr + ") is defined in more than one file: ");
- JSONDocOUT.JSONAddElement(iter.XObjFSL, iter.XObjSL, "8.8", "External function or object (" + iter.XObjNameStr + ") is defined in more than one file: ");
+ XMLDocOut.XMLAddNode(iter.XObjFSL, iter.XObjSL, "8.8", "External function or object (" + iter.XObjNameStr + ") is defined in more than one file: ");
+ JSONDocOUT.JSONAddElement(iter.XObjFSL, iter.XObjSL, "8.8", "External function or object (" + iter.XObjNameStr + ") is defined in more than one file: ");
+ }
}
#endif
}
@@ -4034,11 +4347,14 @@ public:
}
else
{
- std::cout << "2.3:" << "character sequence \"/*\" used inside the comment:";
- std::cout << RCSL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, RCSL))
+ {
+ std::cout << "2.3:" << "character sequence \"/*\" used inside the comment:";
+ std::cout << RCSL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, RCSL, "2.3", "character sequence \"/*\" used inside the comment : ");
- JSONDocOUT.JSONAddElement(MR.Context, RCSL, "2.3", "character sequence \"/*\" used inside the comment : ");
+ XMLDocOut.XMLAddNode(MR.Context, RCSL, "2.3", "character sequence \"/*\" used inside the comment : ");
+ JSONDocOUT.JSONAddElement(MR.Context, RCSL, "2.3", "character sequence \"/*\" used inside the comment : ");
+ }
}
}
}
@@ -4091,11 +4407,14 @@ public:
{
if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
{
- std::cout << "16.7:" << "pointerType ParmVarDecl is not used to change the contents of the object it points to but is not declared as const:";
- std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, MR, SL))
+ {
+ std::cout << "16.7:" << "pointerType ParmVarDecl is not used to change the contents of the object it points to but is not declared as const:";
+ std::cout << SL.printToString(*MR.SourceManager) << ":" << std::endl;
- XMLDocOut.XMLAddNode(MR.Context, SL, "16.7", "pointerType ParmVarDecl is not used to change the contents of the object it points to but is not declared as const : ");
- JSONDocOUT.JSONAddElement(MR.Context, SL, "16.7", "pointerType ParmVarDecl is not used to change the contents of the object it points to but is not declared as const : ");
+ XMLDocOut.XMLAddNode(MR.Context, SL, "16.7", "pointerType ParmVarDecl is not used to change the contents of the object it points to but is not declared as const : ");
+ JSONDocOUT.JSONAddElement(MR.Context, SL, "16.7", "pointerType ParmVarDecl is not used to change the contents of the object it points to but is not declared as const : ");
+ }
}
}
}
@@ -4159,11 +4478,14 @@ public:
}
else
{
- std::cout << "19.2:" << "illegal characters in inclusion directive:";
- std::cout << HashLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "19.2:" << "illegal characters in inclusion directive:";
+ std::cout << HashLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
+ }
}
}
@@ -4175,11 +4497,14 @@ public:
}
else
{
- std::cout << "20.5:" << "errno shall not be used:";
- std::cout << HashLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "20.5:" << "errno shall not be used:";
+ std::cout << HashLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "20.5", "errno shall not be used : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "20.5", "errno shall not be used : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "20.5", "errno shall not be used : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "20.5", "errno shall not be used : ");
+ }
}
}
@@ -4191,11 +4516,14 @@ public:
}
else
{
- std::cout << "20.12:" << "stdlib time.h is included in the project. use is forbidden:";
- std::cout << HashLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "20.12:" << "stdlib time.h is included in the project. use is forbidden:";
+ std::cout << HashLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "20.12", "stdlib time.h is included in the project. use is forbidden : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "20.12", "stdlib time.h is included in the project. use is forbidden : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "20.12", "stdlib time.h is included in the project. use is forbidden : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "20.12", "stdlib time.h is included in the project. use is forbidden : ");
+ }
}
}
@@ -4207,11 +4535,14 @@ public:
}
else
{
- std::cout << "20.9:" << "stdlib stdio.h is included in the project. use is forbidden:";
- std::cout << HashLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "20.9:" << "stdlib stdio.h is included in the project. use is forbidden:";
+ std::cout << HashLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "20.9", "stdlib stdio.h is included in the project. use is forbidden : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "20.9", "stdlib stdio.h is included in the project. use is forbidden : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "20.9", "stdlib stdio.h is included in the project. use is forbidden : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "20.9", "stdlib stdio.h is included in the project. use is forbidden : ");
+ }
}
}
@@ -4223,11 +4554,14 @@ public:
}
else
{
- std::cout << "20.8:" << "stdlib signal.h is included in the project. use is forbidden:";
- std::cout << HashLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "20.8:" << "stdlib signal.h is included in the project. use is forbidden:";
+ std::cout << HashLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "20.8", "stdlib signal.h is included in the project. use is forbidden : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "20.8", "stdlib signal.h is included in the project. use is forbidden : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "20.8", "stdlib signal.h is included in the project. use is forbidden : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "20.8", "stdlib signal.h is included in the project. use is forbidden : ");
+ }
}
}
}
@@ -4245,11 +4579,14 @@ public:
}
else
{
- std::cout << "19.2:" << "illegal characters in inclusion directive:";
- std::cout << HashLoc.printToString(SM) << "\n" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "19.2:" << "illegal characters in inclusion directive:";
+ std::cout << HashLoc.printToString(SM) << "\n" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "19.2", "illegal characters in inclusion directive : ");
+ }
}
}
@@ -4290,11 +4627,14 @@ public:
}
else
{
- std::cout << "19.3:" << "Include directive contains file address, not just name:";
- std::cout << HashLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, HashLoc))
+ {
+ std::cout << "19.3:" << "Include directive contains file address, not just name:";
+ std::cout << HashLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, HashLoc, "19.3", "Include directive contains file address, not just name : ");
- JSONDocOUT.JSONAddElement(SM, HashLoc, "19.3", "Include directive contains file address, not just name : ");
+ XMLDocOut.XMLAddNode(SM, HashLoc, "19.3", "Include directive contains file address, not just name : ");
+ JSONDocOUT.JSONAddElement(SM, HashLoc, "19.3", "Include directive contains file address, not just name : ");
+ }
}
}
}
@@ -4393,11 +4733,14 @@ public:
}
else
{
- std::cout << "20.1:" << "C keyword undefined:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "20.1:" << "C keyword undefined:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "20.1", "C keyword undefined : ");
- JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C keyword undefined : ");
+ XMLDocOut.XMLAddNode(SM, SL, "20.1", "C keyword undefined : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C keyword undefined : ");
+ }
}
}
@@ -4417,11 +4760,14 @@ public:
}
else
{
- std::cout << "20.1:" << "C standard library macro undefined:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "20.1:" << "C standard library macro undefined:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "20.1", "C standard library macro undefined : ");
- JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C standard library macro undefined : ");
+ XMLDocOut.XMLAddNode(SM, SL, "20.1", "C standard library macro undefined : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C standard library macro undefined : ");
+ }
}
}
}
@@ -4441,11 +4787,14 @@ public:
}
else
{
- std::cout << "19.6:" << "Use of #undef is illegal:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.6:" << "Use of #undef is illegal:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.6", "Use of #undef is illegal : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.6", "Use of #undef is illegal : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.6", "Use of #undef is illegal : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.6", "Use of #undef is illegal : ");
+ }
}
}
#endif
@@ -4487,11 +4836,14 @@ public:
}
else
{
- std::cout << "20.1:" << "C keyword defined:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "20.1:" << "C keyword defined:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "20.1", "C keyword defined : ");
- JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C keyword defined : ");
+ XMLDocOut.XMLAddNode(SM, SL, "20.1", "C keyword defined : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C keyword defined : ");
+ }
}
}
@@ -4508,11 +4860,14 @@ public:
}
else
{
- std::cout << "20.1:" << "C standard library macro redefined:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "20.1:" << "C standard library macro redefined:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "20.1", "C standard library macro redefined : ");
- JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C standard library macro redefined : ");
+ XMLDocOut.XMLAddNode(SM, SL, "20.1", "C standard library macro redefined : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "20.1", "C standard library macro redefined : ");
+ }
}
}
}
@@ -4539,11 +4894,14 @@ public:
}
else
{
- std::cout << "19.13:" << "Macro has # token:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.13:" << "Macro has # token:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.13", "Macro has # token : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.13", "Macro has # token : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.13", "Macro has # token : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.13", "Macro has # token : ");
+ }
}
}
@@ -4557,11 +4915,14 @@ public:
}
else
{
- std::cout << "19.13:" << "Macro has ## token:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.13:" << "Macro has ## token:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.13", "Macro has ## token : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.13", "Macro has ## token : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.13", "Macro has ## token : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.13", "Macro has ## token : ");
+ }
}
}
#endif
@@ -4575,11 +4936,14 @@ public:
}
else
{
- std::cout << "19.12:" << "Macro has # and ## tokens:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.12:" << "Macro has # and ## tokens:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.12", "Macro has # and ## tokens : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.12", "Macro has # and ## tokens : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.12", "Macro has # and ## tokens : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.12", "Macro has # and ## tokens : ");
+ }
}
}
@@ -4657,11 +5021,14 @@ public:
}
else
{
- std::cout << "19.10:" << "Funciton-like macro's parameters are not enclosed in parantheses or dont have hash:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.10:" << "Funciton-like macro's parameters are not enclosed in parantheses or dont have hash:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.10", "Funciton-like macro's parameters are not enclosed in parantheses or dont have hash : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.10", "Funciton-like macro's parameters are not enclosed in parantheses or dont have hash : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.10", "Funciton-like macro's parameters are not enclosed in parantheses or dont have hash : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.10", "Funciton-like macro's parameters are not enclosed in parantheses or dont have hash : ");
+ }
}
}
@@ -4673,11 +5040,14 @@ public:
{
if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
{
- std::cout << "19.7:" << "Function-like macro used:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.7:" << "Function-like macro used:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.7", "Function-like macro used : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.7", "Function-like macro used : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.7", "Function-like macro used : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.7", "Function-like macro used : ");
+ }
}
}
@@ -4693,11 +5063,14 @@ public:
}
else
{
- std::cout << "19.9:" << "Function-like macro's argument contains macros:";
- std::cout << SL.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.9:" << "Function-like macro's argument contains macros:";
+ std::cout << SL.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.9", "Function-like macro's argument contains macros : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.9", "Function-like macro's argument contains macros : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.9", "Function-like macro's argument contains macros : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.9", "Function-like macro's argument contains macros : ");
+ }
}
break;
@@ -4731,11 +5104,14 @@ public:
}
else
{
- std::cout << "20.6:" << "use of offsetof is illegal:";
- std::cout << Range.getBegin().printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "20.6:" << "use of offsetof is illegal:";
+ std::cout << Range.getBegin().printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "20.6", "use of offsetof is illegal : ");
- JSONDocOUT.JSONAddElement(SM, SL, "20.6", "use of offsetof is illegal : ");
+ XMLDocOut.XMLAddNode(SM, SL, "20.6", "use of offsetof is illegal : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "20.6", "use of offsetof is illegal : ");
+ }
}
}
@@ -4747,11 +5123,14 @@ public:
}
else
{
- std::cout << "20.7:" << "use of setjmp is illegal:";
- std::cout << Range.getBegin().printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "20.7:" << "use of setjmp is illegal:";
+ std::cout << Range.getBegin().printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "20.7", "use of setjmp is illegal : ");
- JSONDocOUT.JSONAddElement(SM, SL, "20.7", "use of setjmp is illegal : ");
+ XMLDocOut.XMLAddNode(SM, SL, "20.7", "use of setjmp is illegal : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "20.7", "use of setjmp is illegal : ");
+ }
}
}
@@ -4763,11 +5142,14 @@ public:
}
else
{
- std::cout << "19.11:" << "Use of undefined macro:";
- std::cout << Range.getBegin().printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, SL))
+ {
+ std::cout << "19.11:" << "Use of undefined macro:";
+ std::cout << Range.getBegin().printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SL, "19.11", "Use of undefined macro : ");
- JSONDocOUT.JSONAddElement(SM, SL, "19.11", "Use of undefined macro : ");
+ XMLDocOut.XMLAddNode(SM, SL, "19.11", "Use of undefined macro : ");
+ JSONDocOUT.JSONAddElement(SM, SL, "19.11", "Use of undefined macro : ");
+ }
}
}
#endif
@@ -4787,11 +5169,14 @@ public:
}
else
{
- std::cout << "19.17:" << "elif directive is not in the same file as its if directive:";
- std::cout << SLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, Loc))
+ {
+ std::cout << "19.17:" << "elif directive is not in the same file as its if directive:";
+ std::cout << SLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SLoc, "19.17", "elif directive is not in the same file as its if directive : ");
- JSONDocOUT.JSONAddElement(SM, SLoc, "19.17", "elif directive is not in the same file as its if directive : ");
+ XMLDocOut.XMLAddNode(SM, SLoc, "19.17", "elif directive is not in the same file as its if directive : ");
+ JSONDocOUT.JSONAddElement(SM, SLoc, "19.17", "elif directive is not in the same file as its if directive : ");
+ }
}
}
#endif
@@ -4811,11 +5196,14 @@ public:
}
else
{
- std::cout << "19.17:" << "else directive is not in the same file as its if directive:";
- std::cout << SLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, Loc))
+ {
+ std::cout << "19.17:" << "else directive is not in the same file as its if directive:";
+ std::cout << SLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SLoc, "19.17", "else directive is not in the same file as its if directive : ");
- JSONDocOUT.JSONAddElement(SM, SLoc, "19.17", "else directive is not in the same file as its if directive : ");
+ XMLDocOut.XMLAddNode(SM, SLoc, "19.17", "else directive is not in the same file as its if directive : ");
+ JSONDocOUT.JSONAddElement(SM, SLoc, "19.17", "else directive is not in the same file as its if directive : ");
+ }
}
}
#endif
@@ -4835,11 +5223,14 @@ public:
}
else
{
- std::cout << "19.17:" << "endif directive is not in the same file as its if directive:";
- std::cout << SLoc.printToString(SM) << ":" << std::endl;
+ if (Devi::IsTheMatchInMainFile(MainFileOnly, SM, Loc))
+ {
+ std::cout << "19.17:" << "endif directive is not in the same file as its if directive:";
+ std::cout << SLoc.printToString(SM) << ":" << std::endl;
- XMLDocOut.XMLAddNode(SM, SLoc, "19.17", "endif directive is not in the same file as its if directive : ");
- JSONDocOUT.JSONAddElement(SM, SLoc, "19.17", "endif directive is not in the same file as its if directive : ");
+ XMLDocOut.XMLAddNode(SM, SLoc, "19.17", "endif directive is not in the same file as its if directive : ");
+ JSONDocOUT.JSONAddElement(SM, SLoc, "19.17", "endif directive is not in the same file as its if directive : ");
+ }
}
}
#endif
@@ -5169,7 +5560,9 @@ int main(int argc, const char **argv)
{
/*@DEVI-we should parse the common options before parsing the custom options.*/
CommonOptionsParser op(argc, argv, MutatorLVL0Cat);
+#if 0
cl::ParseCommandLineOptions(argc, argv);
+#endif
ClangTool Tool(op.getCompilations(), op.getSourcePathList());