Clang: Inline ProjectPartContainer

Change-Id: I4bd55f6be216b1ac99039e74be853c9634ac2fd6
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Marco Bubke
2016-07-19 12:43:18 +02:00
committed by Tim Jenssen
parent 12c5ff13d0
commit 85081a67a5
2 changed files with 42 additions and 51 deletions

View File

@@ -27,59 +27,23 @@
#include "clangbackendipcdebugutils.h" #include "clangbackendipcdebugutils.h"
#include <QDataStream>
#include <QDebug> #include <QDebug>
#include <ostream> #include <ostream>
namespace ClangBackEnd { namespace ClangBackEnd {
ProjectPartContainer::ProjectPartContainer(const Utf8String &projectPathId, namespace {
const Utf8StringVector &arguments)
: projectPartId_(projectPathId),
arguments_(arguments)
{
}
const Utf8String &ProjectPartContainer::projectPartId() const Utf8String quotedArguments(const Utf8StringVector &arguments)
{
return projectPartId_;
}
const Utf8StringVector &ProjectPartContainer::arguments() const
{
return arguments_;
}
QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container)
{
out << container.projectPartId_;
out << container.arguments_;
return out;
}
QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container)
{
in >> container.projectPartId_;
in >> container.arguments_;
return in;
}
bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second)
{
return first.projectPartId_ == second.projectPartId_;
}
static Utf8String quotedArguments(const Utf8StringVector &arguments)
{ {
const Utf8String quote = Utf8String::fromUtf8("\""); const Utf8String quote = Utf8String::fromUtf8("\"");
const Utf8String joined = arguments.join(quote + Utf8String::fromUtf8(" ") + quote); const Utf8String joined = arguments.join(quote + Utf8String::fromUtf8(" ") + quote);
return quote + joined + quote; return quote + joined + quote;
} }
}
QDebug operator<<(QDebug debug, const ProjectPartContainer &container) QDebug operator<<(QDebug debug, const ProjectPartContainer &container)
{ {
const Utf8String arguments = quotedArguments(container.arguments()); const Utf8String arguments = quotedArguments(container.arguments());

View File

@@ -29,30 +29,57 @@
#include <utf8stringvector.h> #include <utf8stringvector.h>
#include <QDataStream>
namespace ClangBackEnd { namespace ClangBackEnd {
class CMBIPC_EXPORT ProjectPartContainer class ProjectPartContainer
{ {
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container);
friend CMBIPC_EXPORT bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second);
public: public:
ProjectPartContainer() = default; ProjectPartContainer() = default;
ProjectPartContainer(const Utf8String &projectPartId, ProjectPartContainer(const Utf8String &projectPartId,
const Utf8StringVector &arguments = Utf8StringVector()); const Utf8StringVector &arguments = Utf8StringVector())
: projectPartId_(projectPartId),
arguments_(arguments)
{
}
const Utf8String &projectPartId() const; const Utf8String &projectPartId() const
const Utf8StringVector &arguments() const; {
return projectPartId_;
}
const Utf8StringVector &arguments() const
{
return arguments_;
}
friend QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container)
{
out << container.projectPartId_;
out << container.arguments_;
return out;
}
friend QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container)
{
in >> container.projectPartId_;
in >> container.arguments_;
return in;
}
friend bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second)
{
return first.projectPartId_ == second.projectPartId_;
}
private: private:
Utf8String projectPartId_; Utf8String projectPartId_;
Utf8StringVector arguments_; Utf8StringVector arguments_;
}; };
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container);
CMBIPC_EXPORT bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second);
QDebug operator<<(QDebug debug, const ProjectPartContainer &container); QDebug operator<<(QDebug debug, const ProjectPartContainer &container);
void PrintTo(const ProjectPartContainer &container, ::std::ostream* os); void PrintTo(const ProjectPartContainer &container, ::std::ostream* os);