Clang: Inline HighlightingMarkContainer

Change-Id: Idb19b65099f42023ff347b427b014b3c476a06c8
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Marco Bubke
2016-07-19 13:46:42 +02:00
committed by Tim Jenssen
parent 08574a415e
commit ce45b4cf8b
2 changed files with 132 additions and 144 deletions

View File

@@ -25,141 +25,12 @@
#include "highlightingmarkcontainer.h"
#include <QDataStream>
#include <QDebug>
#include <ostream>
namespace ClangBackEnd {
HighlightingMarkContainer::HighlightingMarkContainer(uint line,
uint column,
uint length,
HighlightingTypes types)
: line_(line),
column_(column),
length_(length),
types_(types)
{
}
HighlightingMarkContainer::HighlightingMarkContainer(uint line,
uint column,
uint length,
HighlightingType type)
: line_(line),
column_(column),
length_(length)
{
types_.mainHighlightingType = type;
}
uint HighlightingMarkContainer::line() const
{
return line_;
}
uint HighlightingMarkContainer::column() const
{
return column_;
}
uint HighlightingMarkContainer::length() const
{
return length_;
}
HighlightingTypes HighlightingMarkContainer::types() const
{
return types_;
}
QDataStream &operator<<(QDataStream &out, HighlightingType highlightingType)
{
out << static_cast<const quint8>(highlightingType);
return out;
}
QDataStream &operator<<(QDataStream &out, HighlightingTypes highlightingTypes)
{
out << highlightingTypes.mainHighlightingType;
out << highlightingTypes.mixinHighlightingTypes.size();
for (HighlightingType type : highlightingTypes.mixinHighlightingTypes)
out << type;
return out;
}
QDataStream &operator<<(QDataStream &out, const HighlightingMarkContainer &container)
{
out << container.line_;
out << container.column_;
out << container.length_;
out << container.types_;
return out;
}
QDataStream &operator>>(QDataStream &in, HighlightingType &highlightingType)
{
quint8 highlightingTypeInt;
in >> highlightingTypeInt;
highlightingType = static_cast<HighlightingType>(highlightingTypeInt);
return in;
}
QDataStream &operator>>(QDataStream &in, HighlightingTypes &highlightingTypes)
{
in >> highlightingTypes.mainHighlightingType ;
quint8 size;
in >> size;
for (int counter = 0; counter < size; ++counter) {
HighlightingType type;
in >> type;
highlightingTypes.mixinHighlightingTypes.push_back(type);
}
return in;
}
QDataStream &operator>>(QDataStream &in, HighlightingMarkContainer &container)
{
in >> container.line_;
in >> container.column_;
in >> container.length_;
in >> container.types_;
return in;
}
bool operator==(const MixinHighlightingTypes &first, const MixinHighlightingTypes &second)
{
return first.size() == second.size()
&& std::equal(first.begin(), first.end(), second.begin());
}
bool operator==(const HighlightingTypes &first, const HighlightingTypes &second)
{
return first.mainHighlightingType == second.mainHighlightingType
&& first.mixinHighlightingTypes == second.mixinHighlightingTypes;
}
bool operator==(const HighlightingMarkContainer &first, const HighlightingMarkContainer &second)
{
return first.line_ == second.line_
&& first.column_ == second.column_
&& first.length_ == second.length_
&& first.types_ == second.types_;
}
#define RETURN_TEXT_FOR_CASE(enumValue) case HighlightingType::enumValue: return #enumValue
static const char *highlightingTypeToCStringLiteral(HighlightingType type)
{