diff --git a/JackyMa/MyFirstCheckCheck.cpp b/JackyMa/FuncReturnCheck/MyFirstCheckCheck.cpp similarity index 58% rename from JackyMa/MyFirstCheckCheck.cpp rename to JackyMa/FuncReturnCheck/MyFirstCheckCheck.cpp index fcfbc77..cddadba 100644 --- a/JackyMa/MyFirstCheckCheck.cpp +++ b/JackyMa/FuncReturnCheck/MyFirstCheckCheck.cpp @@ -18,41 +18,42 @@ namespace gjb { void MyFirstCheckCheck::registerMatchers(MatchFinder *Finder) { // FIXME: Add matchers. - Finder->addMatcher(functionDecl(isExpansionInMainFile(), - anyOf(hasDescendant(compoundStmt().bind("cpd")), - unless(hasDescendant(compoundStmt().bind("cpd"))) - ), - anyOf(hasDescendant(returnStmt().bind("ret")), - unless(hasDescendant(returnStmt().bind("ret"))) - )) - .bind("func"), - this); + Finder->addMatcher( +functionDecl(isExpansionInMainFile(), + anyOf(hasDescendant(compoundStmt().bind("cpd")), + unless(hasDescendant(compoundStmt().bind("cpd")))), + anyOf(hasDescendant(returnStmt().bind("ret")), + unless(hasDescendant(returnStmt().bind("ret"))))) + .bind("func"), +this); } void MyFirstCheckCheck::check(const MatchFinder::MatchResult &Result) { // FIXME: Add callback implementation. /// get Node which we want to get - if(const auto *MatchedDecl = Result.Nodes.getNodeAs("func")){ + if(const auto *MatchedDecl = + Result.Nodes.getNodeAs("func")){ /// ReturnType is not 'void' or 'void *' if(MatchedDecl->getReturnType().getAsString() != "void" && MatchedDecl->getReturnType().getAsString() != "void *" /// Func Name is not "main" && MatchedDecl->getName() != "main"){ /// Func has definition - if(const auto *MatchedCpd = Result.Nodes.getNodeAs("cpd")){ + if(const auto *MatchedCpd = + Result.Nodes.getNodeAs("cpd")){ /// Func has ReturnStmt - if(const auto *MatchedStmt = Result.Nodes.getNodeAs("ret")){ + if(const auto *MatchedStmt = + Result.Nodes.getNodeAs("ret")){ } /// Func does not have ReturnStmt else{ - diag(MatchedDecl->getLocation(), "Function '%0' has no return") - << MatchedDecl->getName(); + diag(MatchedDecl->getLocation(), + "Function '%0' has no return") << MatchedDecl->getName(); } } } } - } } // namespace gjb diff --git a/JackyMa/MyFirstCheckCheck.h b/JackyMa/FuncReturnCheck/MyFirstCheckCheck.h similarity index 100% rename from JackyMa/MyFirstCheckCheck.h rename to JackyMa/FuncReturnCheck/MyFirstCheckCheck.h diff --git a/JackyMa/MySecondCheckCheck.cpp b/JackyMa/FuncUsedCheck/MySecondCheckCheck.cpp similarity index 85% rename from JackyMa/MySecondCheckCheck.cpp rename to JackyMa/FuncUsedCheck/MySecondCheckCheck.cpp index d587df2..f945d58 100644 --- a/JackyMa/MySecondCheckCheck.cpp +++ b/JackyMa/FuncUsedCheck/MySecondCheckCheck.cpp @@ -26,13 +26,14 @@ void MySecondCheckCheck::registerMatchers(MatchFinder *Finder) { void MySecondCheckCheck::check(const MatchFinder::MatchResult &Result) { // FIXME: Add callback implementation. - if (const auto *MatchedDecl = Result.Nodes.getNodeAs("func")){ + if (const auto *MatchedDecl = + Result.Nodes.getNodeAs("func")){ /// Func doesn't used in main file if (!MatchedDecl->isUsed() && MatchedDecl->getName() != "main") - diag(MatchedDecl->getLocation(), "Function '%0' has never be used in main file") + diag(MatchedDecl->getLocation(), + "Function '%0' has never be used in main file") << MatchedDecl->getName(); } - } } // namespace gjb diff --git a/JackyMa/MySecondCheckCheck.h b/JackyMa/FuncUsedCheck/MySecondCheckCheck.h similarity index 100% rename from JackyMa/MySecondCheckCheck.h rename to JackyMa/FuncUsedCheck/MySecondCheckCheck.h diff --git a/JackyMa/实验报告.docx b/JackyMa/实验报告.docx deleted file mode 100644 index ddd330c..0000000 Binary files a/JackyMa/实验报告.docx and /dev/null differ diff --git a/马坚 clang-tidy 实验报告.pdf b/马坚 clang-tidy 实验报告.pdf new file mode 100644 index 0000000..27c9f64 Binary files /dev/null and b/马坚 clang-tidy 实验报告.pdf differ