aaron.ballman added inline comments.

================
Comment at: clang-tidy/utils/LexerUtils.cpp:39
+Optional<StringRef> getStmtText(const Stmt* Statement, const SourceManager& 
SM) {
+  if (!Statement) {
+    return llvm::NoneType();
----------------
You should elide the curly braces here.


================
Comment at: clang-tidy/utils/LexerUtils.cpp:44
+  bool Error = false;
+  auto Ret = Lexer::getSourceText(
+    CharSourceRange::getTokenRange(Statement->getSourceRange()),
----------------
Please don't use `auto` here, as the type is not spelled out in the 
initialization.


================
Comment at: clang-tidy/utils/LexerUtils.h:26
+/// Get source code text for statement.
+Optional<StringRef> getStmtText(const Stmt* Statement, const SourceManager& 
SM);
+
----------------
Formatting (elsewhere as well).

You should run the patch under clang-format to handle this sort of thing.


================
Comment at: unittests/clang-tidy/LexerUtilsTest.cpp:31
+TEST_F(GetStmtTextTest, SimpleStatement) {
+  auto FooIdent = &Unit->getASTContext().Idents.getOwn("foo");
+  auto FooDeclName = 
Unit->getASTContext().DeclarationNames.getIdentifier(FooIdent);
----------------
Don't use `auto` unless the type is spelled out in the init, such as with 
`dyn_cast`


================
Comment at: unittests/clang-tidy/LexerUtilsTest.cpp:34-35
+  auto FooLookup = 
Unit->getASTContext().getTranslationUnitDecl()->lookup(FooDeclName);
+  auto FooFunction = dyn_cast_or_null<FunctionDecl>(FooLookup.front());
+  EXPECT_TRUE(FooFunction);
+
----------------
Can `FooLookup.front()` actually be null? I think this should use `cast<>` and 
assert if given null or something other than a `FunctionDecl`.


================
Comment at: unittests/clang-tidy/LexerUtilsTest.cpp:37-38
+
+  auto FooBody = dyn_cast_or_null<CompoundStmt>(FooFunction->getBody());
+  EXPECT_TRUE(FooBody);
+  EXPECT_TRUE(FooBody->body_begin());
----------------
I think you can use `cast<>` here instead of `dyn_cast_or_null<>`, and it will 
assert for you if the body isn't valid.


================
Comment at: unittests/clang-tidy/LexerUtilsTest.cpp:43
+
+
+  auto Res = utils::lexer::getStmtText(DeclStmt, SM);
----------------
Spurious newline.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D42623



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to