forked from qt-creator/qt-creator
Clang: Inline CodeCompletion
Change-Id: I69871aba33a7ca3b09b00452d07828fc05d605cc Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
@@ -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) {
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user