QmlDesigner: Prefer std::get_if to std::get for variants

It cannot not throw, so no exceptions code is generated. And it is quite
often shorter too.

Change-Id: Icd555cedb880a1547b0ddcbcdd74fc21feb83ccb
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2023-08-22 23:27:16 +02:00
parent 7f323ee1b3
commit e0314c8204
2 changed files with 41 additions and 32 deletions

View File

@@ -344,10 +344,13 @@ public:
ConnectionEditorStatements::Variable lhs() const
{
if (!couldBeLHS())
if (!isValid())
return {};
return std::get<ConnectionEditorStatements::Variable>(m_rhs);
if (auto rhs = std::get_if<ConnectionEditorStatements::Variable>(&m_rhs))
return *rhs;
return {};
}
ConnectionEditorStatements::Variable variable() const
@@ -355,8 +358,8 @@ public:
if (!isValid())
return {};
if (std::holds_alternative<ConnectionEditorStatements::Variable>(m_rhs))
return std::get<ConnectionEditorStatements::Variable>(m_rhs);
if (auto rhs = std::get_if<ConnectionEditorStatements::Variable>(&m_rhs))
return *rhs;
return {};
}
@@ -702,8 +705,8 @@ public:
MatchedCondition *currentCondition()
{
if (std::holds_alternative<ConditionalStatement>(m_handler))
return &std::get<ConditionalStatement>(m_handler).condition;
if (auto handler = std::get_if<ConditionalStatement>(&m_handler))
return &handler->condition;
return nullptr;
}
@@ -997,8 +1000,8 @@ bool ConnectionEditorEvaluator::visit(QmlJS::AST::CallExpression *callExpression
callExpression->accept(&callVisitor);
if (callVisitor.isValid()) {
ConnectionEditorStatements::RightHandSide rhs = callVisitor.rhs();
if (std::holds_alternative<ConnectionEditorStatements::MatchedFunction>(rhs))
*currentStatement = std::get<ConnectionEditorStatements::MatchedFunction>(rhs);
if (auto rhs_ = std::get_if<ConnectionEditorStatements::MatchedFunction>(&rhs))
*currentStatement = *rhs_;
else
return d->checkValidityAndReturn(false, "Invalid Matched Function type.");
} else {

View File

@@ -19,7 +19,7 @@ ImageCacheFontCollector::~ImageCacheFontCollector() = default;
namespace {
QByteArray fileToByteArray(QString const &filename)
QByteArray fileToByteArray(const QString &filename)
{
QFile file(filename);
QFileInfo fileInfo(file);
@@ -98,10 +98,11 @@ void ImageCacheFontCollector::start(Utils::SmallStringView name,
{
QFont font;
if (resolveFont(QString(name), font) >= 0) {
auto &&auxiliaryData = std::get<ImageCache::FontCollectorSizeAuxiliaryData>(auxiliaryDataValue);
QColor textColor = auxiliaryData.colorName;
QSize size = auxiliaryData.size;
QString text = font.family() + "\n" + auxiliaryData.text;
if (auto auxiliaryData = std::get_if<ImageCache::FontCollectorSizeAuxiliaryData>(
&auxiliaryDataValue)) {
QColor textColor = auxiliaryData->colorName;
QSize size = auxiliaryData->size;
QString text = font.family() + "\n" + auxiliaryData->text;
QImage image = createFontImage(text, textColor, font, size);
@@ -110,6 +111,7 @@ void ImageCacheFontCollector::start(Utils::SmallStringView name,
return;
}
}
}
abortCallback(ImageCache::AbortReason::Failed);
}
@@ -120,16 +122,18 @@ ImageCacheCollectorInterface::ImageTuple ImageCacheFontCollector::createImage(
{
QFont font;
if (resolveFont(QString(name), font) >= 0) {
auto &&auxiliaryData = std::get<ImageCache::FontCollectorSizeAuxiliaryData>(auxiliaryDataValue);
QColor textColor = auxiliaryData.colorName;
QSize size = auxiliaryData.size;
QString text = font.family() + "\n\n" + auxiliaryData.text;
if (auto auxiliaryData = std::get_if<ImageCache::FontCollectorSizeAuxiliaryData>(
&auxiliaryDataValue)) {
QColor textColor = auxiliaryData->colorName;
QSize size = auxiliaryData->size;
QString text = font.family() + "\n\n" + auxiliaryData->text;
QImage image = createFontImage(text, textColor, font, size);
if (!image.isNull())
return {image, {}, {}};
}
}
return {};
}
@@ -142,10 +146,11 @@ QIcon ImageCacheFontCollector::createIcon(Utils::SmallStringView name,
QFont font;
if (resolveFont(QString(name), font) >= 0) {
auto &&auxiliaryData = std::get<ImageCache::FontCollectorSizesAuxiliaryData>(auxiliaryDataValue);
QColor textColor = auxiliaryData.colorName;
const auto sizes = auxiliaryData.sizes;
QString text = auxiliaryData.text;
if (auto auxiliaryData = std::get_if<ImageCache::FontCollectorSizesAuxiliaryData>(
&auxiliaryDataValue)) {
QColor textColor = auxiliaryData->colorName;
const auto sizes = auxiliaryData->sizes;
QString text = auxiliaryData->text;
for (QSize size : sizes) {
QImage image = createFontImage(text, textColor, font, size);
@@ -153,6 +158,7 @@ QIcon ImageCacheFontCollector::createIcon(Utils::SmallStringView name,
icon.addPixmap(QPixmap::fromImage(image));
}
}
}
return icon;
}