Lines Matching defs:derived

125 // 7.5.2.4 "same derived type" test -- rely on IsTkCompatibleWith() and its
127 // sequence/bind(C) derived types
340 if (const DerivedTypeSpec * derived{type->AsDerived()}) {
341 if (const Scope * nested{derived->scope()}) {
359 const Symbol *FindPointerComponent(const DerivedTypeSpec &derived) {
360 if (const Scope * scope{derived.scope()}) {
368 if (const DerivedTypeSpec * derived{type.AsDerived()}) {
369 return FindPointerComponent(*derived);
597 const DeclTypeSpec *FindParentTypeSpec(const DerivedTypeSpec &derived) {
598 return FindParentTypeSpec(derived.typeSymbol());
602 if (const DerivedTypeSpec * derived{decl.AsDerived()}) {
603 return FindParentTypeSpec(*derived);
645 if (const DerivedTypeSpec * derived{type->AsDerived()}) {
646 return IsEventTypeOrLockType(derived) ||
647 FindEventOrLockPotentialComponent(*derived);
700 if (const auto *derived{object->type()->AsDerived()}) {
701 return derived->HasDefaultInitialization(
717 if (const auto *derived{object->type()->AsDerived()}) {
718 return &derived->typeSymbol() != derivedTypeSymbol &&
719 derived->HasDestruction();
730 } else if (name == "derived") {
754 if (const auto *derived{typeSymbol.detailsIf<DerivedTypeDetails>()}) {
755 for (const auto &pair : derived->finals()) {
793 const Symbol *IsFinalizable(const DerivedTypeSpec &derived,
797 for (auto ref : FinalsForDerivedTypeInstantiation(derived)) {
834 if (inProgress->find(&derived) != inProgress->end()) {
840 auto iterator{inProgress->insert(&derived).first};
842 for (const Symbol &component : PotentialComponentIterator{derived}) {
853 const DerivedTypeSpec &derived, std::optional<int> rank) {
854 return IsFinalizable(derived, nullptr, /*withImpureFinalizer=*/true, rank);
861 if (const DerivedTypeSpec * derived{symType->AsDerived()}) {
867 return HasImpureFinal(*derived, actualRank);
875 bool MayRequireFinalization(const DerivedTypeSpec &derived) {
876 return IsFinalizable(derived) ||
877 FindPolymorphicAllocatablePotentialComponent(derived);
880 bool HasAllocatableDirectComponent(const DerivedTypeSpec &derived) {
881 DirectComponentIterator directs{derived};
1143 // there may be forward-substituted named constants of derived type
1181 // Create a new instantiation of this parameterized derived type
1246 const DerivedTypeSpec &derived) {
1248 it.componentPath_.emplace_back(derived);
1259 if (const auto *derived{type->AsDerived()}) {
1277 const Symbol &newTypeSymbol{derived->typeSymbol()};
1287 return derived;
1332 derived{PlanComponentTraversal(*deepest.component())}) {
1333 componentPath_.emplace_back(*derived);
1396 const DerivedTypeSpec &derived) {
1397 UltimateComponentIterator ultimates{derived};
1403 const DerivedTypeSpec &derived) {
1404 UltimateComponentIterator ultimates{derived};
1409 const DerivedTypeSpec &derived, bool ignoreCoarrays) {
1410 PotentialComponentIterator potentials{derived};
1435 const DerivedTypeSpec &derived) {
1436 UltimateComponentIterator ultimates{derived};
1441 const DerivedTypeSpec &derived) {
1442 DirectComponentIterator directs{derived};
1447 FindPolymorphicAllocatablePotentialComponent(const DerivedTypeSpec &derived) {
1448 PotentialComponentIterator potentials{derived};
1453 const Symbol *FindUltimateComponent(const DerivedTypeSpec &derived,
1455 UltimateComponentIterator ultimates{derived};
1471 if (const auto *derived{type->AsDerived()}) {
1472 return FindUltimateComponent(*derived, predicate);
1495 if (const auto *derived{type->AsDerived()}) {
1496 return FindImmediateComponent(*derived, predicate);
1657 bool HasDefinedIo(common::DefinedIo which, const DerivedTypeSpec &derived,
1659 if (const Scope * dtScope{derived.scope()}) {
1674 evaluate::DynamicType dyDerived{derived};
1693 const auto *parentType{derived.typeSymbol().GetParentTypeSpec()};