Lines Matching defs:generic
247 } else if (const auto &generic{symbol.detailsIf<GenericDetails>()};
248 generic && generic->derivedType()) {
249 const Symbol &dtSym{*generic->derivedType()};
325 if (const auto *generic{found->detailsIf<GenericDetails>()}) {
326 if (generic->derivedType() == &*s || generic->specific() == &*s) {
474 // generic binding
476 PutGenericName(typeBindings << "generic::", symbol)
841 // specific procedures as a result of generic resolution;
858 const auto *generic{symbol->detailsIf<GenericDetails>()};
859 if (generic) {
860 uses.insert(uses.end(), generic->uses().begin(), generic->uses().end());
861 for (auto ref : generic->uses()) {
870 } else if (generic) {
871 if (generic->specific() &&
872 &generic->specific()->owner() == &symbol->owner()) {
873 sorted.push_back(*generic->specific());
874 } else if (generic->derivedType() &&
875 &generic->derivedType()->owner() == &symbol->owner()) {
876 sorted.push_back(*generic->derivedType());
1640 if (const auto *generic{ultimate.detailsIf<GenericDetails>()}) {
1641 // The generic may not be needed itself, but the specific procedure
1643 const Symbol *spec{generic->specific()};
1644 const Symbol *dt{generic->derivedType()};