Lines Matching defs:derived
1 //===-- runtime/derived.cpp -----------------------------------------------===//
9 #include "derived.h"
20 // Fill "extents" array with the extents of component "comp" from derived type
33 const typeInfo::DerivedType &derived, Terminator &terminator, bool hasStat,
35 const Descriptor &componentDesc{derived.component()};
57 if (const auto *derived{addendum->derivedType()}) {
58 if (!derived->noInitializationNeeded()) {
60 allocDesc, *derived, terminator, hasStat, errMsg);
109 const Descriptor &procPtrDesc{derived.procPtr()};
126 const Descriptor &orig, const typeInfo::DerivedType &derived,
128 const Descriptor &componentDesc{derived.component()};
158 derived{addendum->derivedType()}) {
159 if (!derived->noInitializationNeeded()) {
162 cloneDesc, *derived, terminator, hasStat, errMsg);
164 // Initialize derived type's allocatables.
166 stat = InitializeClone(cloneDesc, origDesc, *derived,
179 // Handle nested derived types.
208 const typeInfo::DerivedType &derived, int rank) {
209 if (const auto *ranked{derived.FindSpecialBinding(
212 } else if (const auto *assumed{derived.FindSpecialBinding(
216 return derived.FindSpecialBinding(
222 const typeInfo::DerivedType &derived, Terminator *terminator) {
223 if (const auto *special{FindFinal(derived, descriptor.rank())}) {
270 tmpDesc.Addendum()->set_derivedType(&derived);
287 const typeInfo::DerivedType &derived, Terminator *terminator) {
288 if (derived.noFinalizationNeeded() || !descriptor.IsAllocated()) {
291 CallFinalSubroutine(descriptor, derived, terminator);
292 const auto *parentType{derived.GetParentType()};
297 const Descriptor &componentDesc{derived.component()};
373 const typeInfo::DerivedType &derived, Terminator *terminator) {
374 if (derived.noDestructionNeeded() || !descriptor.IsAllocated()) {
377 if (finalize && !derived.noFinalizationNeeded()) {
378 Finalize(descriptor, derived, terminator);
382 const Descriptor &componentDesc{derived.component()};
423 if (const auto *derived = addendum->derivedType()) {
426 return !derived->noDestructionNeeded();