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 <QDataStream>
#include <QDebug>
#include <ostream>
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)
{
switch (kind) {

View File

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