[PATCH] D100688: [AST] Remove args from LocationCall

Stephen Kelly via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 16 14:32:07 PDT 2021


steveire created this revision.
steveire added a reviewer: njames93.
steveire requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

This class initially had args to be generic to future needs. In
particular, I thought that source location introspection should show the
getBeginLoc of CallExpr args and the getArgLoc of
TemplateSpecializationLocInfo etc.  However, that is probably best left
out of source location introspection because it involves node traversal.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100688

Files:
  clang/include/clang/Tooling/NodeIntrospection.h
  clang/lib/Tooling/NodeIntrospection.cpp
  clang/unittests/Introspection/IntrospectionTest.cpp


Index: clang/unittests/Introspection/IntrospectionTest.cpp
===================================================================
--- clang/unittests/Introspection/IntrospectionTest.cpp
+++ clang/unittests/Introspection/IntrospectionTest.cpp
@@ -61,16 +61,7 @@
       print(*On, OS);
       OS << '.';
     }
-    OS << Call.name();
-    if (Call.args().empty()) {
-      OS << "()";
-      return;
-    }
-    OS << '(' << Call.args().front();
-    for (const std::string &Arg : Call.args().drop_front()) {
-      OS << ", " << Arg;
-    }
-    OS << ')';
+    OS << Call.name() << "()";
   }
 
   static std::string format(const LocationCall &Call) {
Index: clang/lib/Tooling/NodeIntrospection.cpp
===================================================================
--- clang/lib/Tooling/NodeIntrospection.cpp
+++ clang/lib/Tooling/NodeIntrospection.cpp
@@ -29,16 +29,7 @@
       OS << '.';
   }
 
-  OS << Call.name();
-  if (Call.args().empty()) {
-    OS << "()";
-    return;
-  }
-  OS << '(' << Call.args().front();
-  for (const std::string &Arg : Call.args().drop_front()) {
-    OS << ", " << Arg;
-  }
-  OS << ')';
+  OS << Call.name() << "()";
 }
 
 std::string LocationCallFormatterCpp::format(const LocationCall &Call) {
Index: clang/include/clang/Tooling/NodeIntrospection.h
===================================================================
--- clang/include/clang/Tooling/NodeIntrospection.h
+++ clang/include/clang/Tooling/NodeIntrospection.h
@@ -38,14 +38,9 @@
   LocationCall(SharedLocationCall on, std::string name,
                LocationCallFlags flags = NoFlags)
       : m_flags(flags), m_on(std::move(on)), m_name(std::move(name)) {}
-  LocationCall(SharedLocationCall on, std::string name,
-               std::vector<std::string> args, LocationCallFlags flags = NoFlags)
-      : m_flags(flags), m_on(std::move(on)), m_name(std::move(name)),
-        m_args(std::move(args)) {}
 
   LocationCall *on() const { return m_on.get(); }
   StringRef name() const { return m_name; }
-  ArrayRef<std::string> args() const { return m_args; }
   bool returnsPointer() const { return m_flags & ReturnsPointer; }
   bool isCast() const { return m_flags & IsCast; }
 
@@ -53,7 +48,6 @@
   LocationCallFlags m_flags;
   SharedLocationCall m_on;
   std::string m_name;
-  std::vector<std::string> m_args;
 };
 
 class LocationCallFormatterCpp {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100688.338238.patch
Type: text/x-patch
Size: 2359 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210416/17478d87/attachment.bin>


More information about the cfe-commits mailing list