[AST][Introspection] Fix args not being set.
authorNathan James <n.james93@hotmail.co.uk>
Wed, 14 Apr 2021 23:19:40 +0000 (00:19 +0100)
committerNathan James <n.james93@hotmail.co.uk>
Wed, 14 Apr 2021 23:19:40 +0000 (00:19 +0100)
This field isn't set in the constructor.
Tweak its accessor to return an ArrayRef.

clang/include/clang/Tooling/NodeIntrospection.h

index 70bfeba..406e17f 100644 (file)
@@ -37,15 +37,15 @@ public:
   enum LocationCallFlags { NoFlags, ReturnsPointer, IsCast };
   LocationCall(SharedLocationCall on, std::string name,
                LocationCallFlags flags = NoFlags)
-      : m_flags(flags), m_on(std::move(on)), m_name(name) {}
+      : m_flags(flags), m_on(std::move(on)), m_name(std::move(name)) {}
   LocationCall(SharedLocationCall on, std::string name,
-               std::vector<std::string> const &args,
-               LocationCallFlags flags = NoFlags)
-      : m_flags(flags), m_on(std::move(on)), m_name(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; }
-  std::vector<std::string> const &args() const { return m_args; }
+  ArrayRef<std::string> args() const { return m_args; }
   bool returnsPointer() const { return m_flags & ReturnsPointer; }
   bool isCast() const { return m_flags & IsCast; }