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; }