Clang: Inline CodeCompletion

Change-Id: I69871aba33a7ca3b09b00452d07828fc05d605cc
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Marco Bubke
2016-07-19 12:20:30 +02:00
committed by Tim Jenssen
parent c62bf3e4e7
commit 5bb5f7ae6d
2 changed files with 114 additions and 150 deletions

View File

@@ -25,134 +25,12 @@
#include "codecompletion.h" #include "codecompletion.h"
#include <QDataStream>
#include <QDebug> #include <QDebug>
#include <ostream> #include <ostream>
namespace ClangBackEnd { namespace ClangBackEnd {
CodeCompletion::CodeCompletion(const Utf8String &text,
quint32 priority,
Kind completionKind,
Availability availability,
bool hasParameters)
: text_(text),
priority_(priority),
completionKind_(completionKind),
availability_(availability),
hasParameters_(hasParameters)
{
}
void CodeCompletion::setText(const Utf8String &text)
{
text_ = text;
}
const Utf8String &CodeCompletion::text() const
{
return text_;
}
void CodeCompletion::setCompletionKind(CodeCompletion::Kind completionKind)
{
completionKind_ = completionKind;
}
CodeCompletion::Kind CodeCompletion::completionKind() const
{
return completionKind_;
}
void CodeCompletion::setChunks(const CodeCompletionChunks &chunks)
{
chunks_ = chunks;
}
const CodeCompletionChunks &CodeCompletion::chunks() const
{
return chunks_;
}
void CodeCompletion::setAvailability(CodeCompletion::Availability availability)
{
availability_ = availability;
}
CodeCompletion::Availability CodeCompletion::availability() const
{
return availability_;
}
void CodeCompletion::setHasParameters(bool hasParameters)
{
hasParameters_ = hasParameters;
}
bool CodeCompletion::hasParameters() const
{
return hasParameters_;
}
void CodeCompletion::setPriority(quint32 priority)
{
priority_ = priority;
}
quint32 CodeCompletion::priority() const
{
return priority_;
}
void CodeCompletion::setBriefComment(const Utf8String &briefComment)
{
briefComment_ = briefComment;
}
const Utf8String &CodeCompletion::briefComment() const
{
return briefComment_;
}
QDataStream &operator<<(QDataStream &out, const CodeCompletion &message)
{
out << message.text_;
out << message.briefComment_;
out << message.chunks_;
out << message.priority_;
out << static_cast<quint32>(message.completionKind_);
out << static_cast<quint32>(message.availability_);
out << message.hasParameters_;
return out;
}
QDataStream &operator>>(QDataStream &in, CodeCompletion &message)
{
quint32 completionKind;
quint32 availability;
in >> message.text_;
in >> message.briefComment_;
in >> message.chunks_;
in >> message.priority_;
in >> completionKind;
in >> availability;
in >> message.hasParameters_;
message.completionKind_ = static_cast<CodeCompletion::Kind>(completionKind);
message.availability_ = static_cast<CodeCompletion::Availability>(availability);
return in;
}
bool operator==(const CodeCompletion &first, const CodeCompletion &second)
{
return first.text_ == second.text_
&& first.completionKind_ == second.completionKind_;
}
static const char *completionKindToString(CodeCompletion::Kind kind) static const char *completionKindToString(CodeCompletion::Kind kind)
{ {
switch (kind) { switch (kind) {

View File

@@ -30,6 +30,7 @@
#include <utf8string.h> #include <utf8string.h>
#include <QDataStream>
#include <QVector> #include <QVector>
namespace ClangBackEnd { namespace ClangBackEnd {
@@ -37,14 +38,8 @@ namespace ClangBackEnd {
class CodeCompletion; class CodeCompletion;
using CodeCompletions = QVector<CodeCompletion>; using CodeCompletions = QVector<CodeCompletion>;
class CMBIPC_EXPORT CodeCompletion class CodeCompletion
{ {
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const CodeCompletion &message);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, CodeCompletion &message);
friend CMBIPC_EXPORT bool operator==(const CodeCompletion &first, const CodeCompletion &second);
friend CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CodeCompletion &message);
friend void PrintTo(const CodeCompletion &message, ::std::ostream* os);
public: public:
enum Kind : quint32 { enum Kind : quint32 {
Other = 0, Other = 0,
@@ -80,28 +75,125 @@ public:
quint32 priority = 0, quint32 priority = 0,
Kind completionKind = Other, Kind completionKind = Other,
Availability availability = Available, Availability availability = Available,
bool hasParameters = false); bool hasParameters = false)
: text_(text),
priority_(priority),
completionKind_(completionKind),
availability_(availability),
hasParameters_(hasParameters)
{
}
void setText(const Utf8String &text); void setText(const Utf8String &text)
const Utf8String &text() const; {
text_ = text;
}
void setCompletionKind(Kind completionKind); const Utf8String &text() const
Kind completionKind() const; {
return text_;
}
void setChunks(const CodeCompletionChunks &chunks); void setCompletionKind(Kind completionKind)
const CodeCompletionChunks &chunks() const; {
completionKind_ = completionKind;
}
void setAvailability(Availability availability); Kind completionKind() const
Availability availability() const; {
return completionKind_;
}
void setHasParameters(bool hasParameters); void setChunks(const CodeCompletionChunks &chunks)
bool hasParameters() const; {
chunks_ = chunks;
}
void setPriority(quint32 priority); const CodeCompletionChunks &chunks() const
quint32 priority() const; {
return chunks_;
}
void setBriefComment(const Utf8String &briefComment); void setAvailability(Availability availability)
const Utf8String &briefComment() const; {
availability_ = availability;
}
Availability availability() const
{
return availability_;
}
void setHasParameters(bool hasParameters)
{
hasParameters_ = hasParameters;
}
bool hasParameters() const
{
return hasParameters_;
}
void setPriority(quint32 priority)
{
priority_ = priority;
}
quint32 priority() const
{
return priority_;
}
void setBriefComment(const Utf8String &briefComment)
{
briefComment_ = briefComment;
}
const Utf8String &briefComment() const
{
return briefComment_;
}
friend QDataStream &operator<<(QDataStream &out, const CodeCompletion &message)
{
out << message.text_;
out << message.briefComment_;
out << message.chunks_;
out << message.priority_;
out << static_cast<quint32>(message.completionKind_);
out << static_cast<quint32>(message.availability_);
out << message.hasParameters_;
return out;
}
friend QDataStream &operator>>(QDataStream &in, CodeCompletion &message)
{
quint32 completionKind;
quint32 availability;
in >> message.text_;
in >> message.briefComment_;
in >> message.chunks_;
in >> message.priority_;
in >> completionKind;
in >> availability;
in >> message.hasParameters_;
message.completionKind_ = static_cast<CodeCompletion::Kind>(completionKind);
message.availability_ = static_cast<CodeCompletion::Availability>(availability);
return in;
}
friend bool operator==(const CodeCompletion &first, const CodeCompletion &second)
{
return first.text_ == second.text_
&& first.completionKind_ == second.completionKind_;
}
friend CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CodeCompletion &message);
friend void PrintTo(const CodeCompletion &message, ::std::ostream* os);
private: private:
Utf8String text_; Utf8String text_;
@@ -113,14 +205,8 @@ private:
bool hasParameters_ = false; bool hasParameters_ = false;
}; };
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const CodeCompletion &message);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, CodeCompletion &message);
CMBIPC_EXPORT bool operator==(const CodeCompletion &first, const CodeCompletion &second);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, const CodeCompletion &message);
CMBIPC_EXPORT QDebug operator<<(QDebug debug, CodeCompletion::Kind kind); CMBIPC_EXPORT QDebug operator<<(QDebug debug, CodeCompletion::Kind kind);
void PrintTo(const CodeCompletion &message, ::std::ostream* os);
void PrintTo(CodeCompletion::Kind kind, ::std::ostream *os); void PrintTo(CodeCompletion::Kind kind, ::std::ostream *os);
void PrintTo(CodeCompletion::Availability availability, ::std::ostream *os); void PrintTo(CodeCompletion::Availability availability, ::std::ostream *os);
} // namespace ClangBackEnd } // namespace ClangBackEnd