Changeset View
Changeset View
Standalone View
Standalone View
flang/lib/Semantics/symbol.cpp
Show First 20 Lines • Show All 222 Lines • ▼ Show 20 Lines | return std::visit( | ||||
[](const DerivedTypeDetails &) { return "DerivedType"; }, | [](const DerivedTypeDetails &) { return "DerivedType"; }, | ||||
[](const UseDetails &) { return "Use"; }, | [](const UseDetails &) { return "Use"; }, | ||||
[](const UseErrorDetails &) { return "UseError"; }, | [](const UseErrorDetails &) { return "UseError"; }, | ||||
[](const HostAssocDetails &) { return "HostAssoc"; }, | [](const HostAssocDetails &) { return "HostAssoc"; }, | ||||
[](const GenericDetails &) { return "Generic"; }, | [](const GenericDetails &) { return "Generic"; }, | ||||
[](const ProcBindingDetails &) { return "ProcBinding"; }, | [](const ProcBindingDetails &) { return "ProcBinding"; }, | ||||
[](const NamelistDetails &) { return "Namelist"; }, | [](const NamelistDetails &) { return "Namelist"; }, | ||||
[](const CommonBlockDetails &) { return "CommonBlockDetails"; }, | [](const CommonBlockDetails &) { return "CommonBlockDetails"; }, | ||||
[](const FinalProcDetails &) { return "FinalProc"; }, | |||||
[](const TypeParamDetails &) { return "TypeParam"; }, | [](const TypeParamDetails &) { return "TypeParam"; }, | ||||
[](const MiscDetails &) { return "Misc"; }, | [](const MiscDetails &) { return "Misc"; }, | ||||
[](const AssocEntityDetails &) { return "AssocEntity"; }, | [](const AssocEntityDetails &) { return "AssocEntity"; }, | ||||
}, | }, | ||||
details); | details); | ||||
} | } | ||||
const std::string Symbol::GetDetailsName() const { | const std::string Symbol::GetDetailsName() const { | ||||
▲ Show 20 Lines • Show All 191 Lines • ▼ Show 20 Lines | std::visit( // | ||||
if (x.alignment()) { | if (x.alignment()) { | ||||
os << " alignment=" << x.alignment(); | os << " alignment=" << x.alignment(); | ||||
} | } | ||||
os << ':'; | os << ':'; | ||||
for (const auto &object : x.objects()) { | for (const auto &object : x.objects()) { | ||||
os << ' ' << object->name(); | os << ' ' << object->name(); | ||||
} | } | ||||
}, | }, | ||||
[&](const FinalProcDetails &) {}, | |||||
[&](const TypeParamDetails &x) { | [&](const TypeParamDetails &x) { | ||||
DumpOptional(os, "type", x.type()); | DumpOptional(os, "type", x.type()); | ||||
os << ' ' << common::EnumToString(x.attr()); | os << ' ' << common::EnumToString(x.attr()); | ||||
DumpExpr(os, "init", x.init()); | DumpExpr(os, "init", x.init()); | ||||
}, | }, | ||||
[&](const MiscDetails &x) { | [&](const MiscDetails &x) { | ||||
os << ' ' << MiscDetails::EnumToString(x.kind()); | os << ' ' << MiscDetails::EnumToString(x.kind()); | ||||
}, | }, | ||||
▲ Show 20 Lines • Show All 164 Lines • Show Last 20 Lines |