[AST][Introspection] Fix args not being set.

This field isn't set in the constructor.
Tweak its accessor to return an ArrayRef.

GitOrigin-RevId: 6890f302f587ca4f6712be728bd9302da597fe0c
diff --git a/include/clang/Tooling/NodeIntrospection.h b/include/clang/Tooling/NodeIntrospection.h
index 70bfeba..406e17f 100644
--- a/include/clang/Tooling/NodeIntrospection.h
+++ b/include/clang/Tooling/NodeIntrospection.h
@@ -37,15 +37,15 @@
   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; }