Lines Matching refs:derived
315 if (const DerivedTypeSpec * derived{type->AsDerived()}) { in FindPointerComponent() local
316 if (const Scope * nested{derived->scope()}) { in FindPointerComponent()
334 const Symbol *FindPointerComponent(const DerivedTypeSpec &derived) { in FindPointerComponent() argument
335 if (const Scope * scope{derived.scope()}) { in FindPointerComponent()
343 if (const DerivedTypeSpec * derived{type.AsDerived()}) { in FindPointerComponent() local
344 return FindPointerComponent(*derived); in FindPointerComponent()
499 const DeclTypeSpec *FindParentTypeSpec(const DerivedTypeSpec &derived) { in FindParentTypeSpec() argument
500 return FindParentTypeSpec(derived.typeSymbol()); in FindParentTypeSpec()
504 if (const DerivedTypeSpec * derived{decl.AsDerived()}) { in FindParentTypeSpec() local
505 return FindParentTypeSpec(*derived); in FindParentTypeSpec()
547 if (const DerivedTypeSpec * derived{type->AsDerived()}) { in IsOrContainsEventOrLockComponent() local
548 return IsEventTypeOrLockType(derived) || in IsOrContainsEventOrLockComponent()
549 FindEventOrLockPotentialComponent(*derived); in IsOrContainsEventOrLockComponent()
598 if (const auto *derived{object->type()->AsDerived()}) { in IsInitialized() local
599 return derived->HasDefaultInitialization(ignoreAllocatable); in IsInitialized()
614 if (const auto *derived{object->type()->AsDerived()}) { in IsDestructible() local
615 return &derived->typeSymbol() != derivedTypeSymbol && in IsDestructible()
616 derived->HasDestruction(); in IsDestructible()
664 bool IsFinalizable(const DerivedTypeSpec &derived, in IsFinalizable() argument
666 if (!derived.typeSymbol().get<DerivedTypeDetails>().finals().empty()) { in IsFinalizable()
671 if (inProgress->find(&derived) != inProgress->end()) { in IsFinalizable()
677 auto iterator{inProgress->insert(&derived).first}; in IsFinalizable()
678 PotentialComponentIterator components{derived}; in IsFinalizable()
687 bool HasImpureFinal(const DerivedTypeSpec &derived) { in HasImpureFinal() argument
689 derived.typeSymbol().detailsIf<DerivedTypeDetails>()}) { in HasImpureFinal()
763 const DerivedTypeSpec &derived) { in FindPolymorphicPotentialComponent() argument
764 PotentialComponentIterator potentials{derived}; in FindPolymorphicPotentialComponent()
782 if (const DerivedTypeSpec * derived{type->AsDerived()}) { in IsOrContainsPolymorphicComponent() local
783 return (bool)FindPolymorphicPotentialComponent(*derived); in IsOrContainsPolymorphicComponent()
1154 const DerivedTypeSpec &derived) { in Create() argument
1156 it.componentPath_.emplace_back(derived); in Create()
1167 if (const auto *derived{type->AsDerived()}) { in PlanComponentTraversal() local
1182 const Symbol &newTypeSymbol{derived->typeSymbol()}; in PlanComponentTraversal()
1192 return derived; in PlanComponentTraversal()
1232 derived{PlanComponentTraversal(*deepest.component())}) { in Increment() local
1233 componentPath_.emplace_back(*derived); in Increment()
1285 const DerivedTypeSpec &derived) { in FindCoarrayUltimateComponent() argument
1286 UltimateComponentIterator ultimates{derived}; in FindCoarrayUltimateComponent()
1292 const DerivedTypeSpec &derived) { in FindPointerUltimateComponent() argument
1293 UltimateComponentIterator ultimates{derived}; in FindPointerUltimateComponent()
1298 const DerivedTypeSpec &derived) { in FindEventOrLockPotentialComponent() argument
1299 PotentialComponentIterator potentials{derived}; in FindEventOrLockPotentialComponent()
1311 const DerivedTypeSpec &derived) { in FindAllocatableUltimateComponent() argument
1312 UltimateComponentIterator ultimates{derived}; in FindAllocatableUltimateComponent()
1317 const DerivedTypeSpec &derived) { in FindAllocatableOrPointerDirectComponent() argument
1318 DirectComponentIterator directs{derived}; in FindAllocatableOrPointerDirectComponent()
1323 FindPolymorphicAllocatableUltimateComponent(const DerivedTypeSpec &derived) { in FindPolymorphicAllocatableUltimateComponent() argument
1324 UltimateComponentIterator ultimates{derived}; in FindPolymorphicAllocatableUltimateComponent()
1331 const DerivedTypeSpec &derived) { in FindPolymorphicAllocatableNonCoarrayUltimateComponent() argument
1332 UltimateComponentIterator ultimates{derived}; in FindPolymorphicAllocatableNonCoarrayUltimateComponent()
1338 const Symbol *FindUltimateComponent(const DerivedTypeSpec &derived, in FindUltimateComponent() argument
1340 UltimateComponentIterator ultimates{derived}; in FindUltimateComponent()
1356 if (const auto *derived{type->AsDerived()}) { in FindUltimateComponent() local
1357 return FindUltimateComponent(*derived, predicate); in FindUltimateComponent()
1380 if (const auto *derived{type->AsDerived()}) { in FindImmediateComponent() local
1381 return FindImmediateComponent(*derived, predicate); in FindImmediateComponent()
1519 bool HasDefinedIo(GenericKind::DefinedIo which, const DerivedTypeSpec &derived, in HasDefinedIo() argument
1521 if (const Scope * dtScope{derived.scope()}) { in HasDefinedIo()
1536 evaluate::DynamicType dyDerived{derived}; in HasDefinedIo()
1564 const DerivedTypeSpec &derived, const Scope *scope) { in FindUnsafeIoDirectComponent() argument
1565 if (HasDefinedIo(which, derived, scope)) { in FindUnsafeIoDirectComponent()
1568 if (const Scope * dtScope{derived.scope()}) { in FindUnsafeIoDirectComponent()