Skip to content

Commit 47b0c01

Browse files
committed
chore: fewer falsy properties
1 parent a3d6bbd commit 47b0c01

File tree

1 file changed

+34
-22
lines changed

1 file changed

+34
-22
lines changed

src/lib/Metadata/DomMetadata.cpp

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -689,34 +689,46 @@ DomInfo<T>::construct() const
689689
}
690690
if constexpr(T::isFunction())
691691
{
692+
auto const set_flag =
693+
[&](dom::String key, bool set)
694+
{
695+
if(set)
696+
entries.emplace_back(std::move(key), true);
697+
});
698+
set_flag("isVariadic", I_.specs0.isVariadic.get());
699+
set_flag("isVirtual", I_.specs0.isVirtual.get());
700+
set_flag("isVirtualAsWritten", I_.specs0.isVirtualAsWritten.get());
701+
set_flag("isPure", I_.specs0.isPure.get());
702+
set_flag("isDefaulted", I_.specs0.isDefaulted.get());
703+
set_flag("isExplicitlyDefaulted",I_.specs0.isExplicitlyDefaulted.get());
704+
set_flag("isDeleted", I_.specs0.isDeleted.get());
705+
set_flag("isDeletedAsWritten", I_.specs0.isDeletedAsWritten.get());
706+
set_flag("isNoReturn", I_.specs0.isNoReturn.get());
707+
set_flag("hasOverrideAttr", I_.specs0.hasOverrideAttr.get());
708+
set_flag("hasTrailingReturn", I_.specs0.hasTrailingReturn.get());
709+
set_flag("isConst", I_.specs0.isConst.get());
710+
set_flag("isVolatile", I_.specs0.isVolatile.get());
711+
set_flag("isFinal", I_.specs0.isFinal.get());
712+
set_flag("isNodiscard", I_.specs1.isNodiscard.get());
713+
714+
auto const set_string =
715+
[&](dom::String key, dom::String value)
716+
{
717+
if(! value.empty())
718+
entries.emplace_back(std::move(key), std::move(value));
719+
});
720+
set_string("constexprKind", toString(I_.specs0.constexprKind.get()));
721+
set_string("exceptionSpec", toString(I_.specs0.exceptionSpec.get()));
722+
set_string("storageClass", toString(I_.specs0.storageClass.get()));
723+
set_string("refQualifier", toString(I_.specs0.refQualifier.get()));
724+
set_string("explicitSpec", toString(I_.specs1.explicitSpec.get()));
725+
692726
entries.insert(entries.end(), {
693727
{ "class", toString(I_.Class) },
694728
{ "params", dom::newArray<DomParamArray>(I_.Params, domCorpus_) },
695729
{ "return", domCreate(I_.ReturnType, domCorpus_) },
696730
{ "template", domCreate(I_.Template, domCorpus_) },
697-
698-
{ "isVariadic", I_.specs0.isVariadic.get() },
699-
{ "isVirtual", I_.specs0.isVirtual.get() },
700-
{ "isVirtualAsWritten", I_.specs0.isVirtualAsWritten.get() },
701-
{ "isPure", I_.specs0.isPure.get() },
702-
{ "isDefaulted", I_.specs0.isDefaulted.get() },
703-
{ "isExplicitlyDefaulted",I_.specs0.isExplicitlyDefaulted.get() },
704-
{ "isDeleted", I_.specs0.isDeleted.get() },
705-
{ "isDeletedAsWritten", I_.specs0.isDeletedAsWritten.get() },
706-
{ "isNoReturn", I_.specs0.isNoReturn.get() },
707-
{ "hasOverrideAttr", I_.specs0.hasOverrideAttr.get() },
708-
{ "hasTrailingReturn", I_.specs0.hasTrailingReturn.get() },
709-
{ "isConst", I_.specs0.isConst.get() },
710-
{ "isVolatile", I_.specs0.isVolatile.get() },
711-
{ "isFinal", I_.specs0.isFinal.get() },
712-
{ "isNodiscard", I_.specs1.isNodiscard.get() },
713-
714-
{ "constexprKind", toString(I_.specs0.constexprKind.get()) },
715-
{ "exceptionSpec", toString(I_.specs0.exceptionSpec.get()) },
716731
{ "overloadedOperator", I_.specs0.overloadedOperator.get() },
717-
{ "storageClass", toString(I_.specs0.storageClass.get()) },
718-
{ "refQualifier", toString(I_.specs0.refQualifier.get()) },
719-
{ "explicitSpec", toString(I_.specs1.explicitSpec.get()) }
720732
});
721733
}
722734
if constexpr(T::isEnum())

0 commit comments

Comments
 (0)