Lines Matching defs:component
305 // procedure component with a BIND(C) interface
328 // If there's a top-level pointer component, return it for clearer error
842 for (const Symbol &component : PotentialComponentIterator{derived}) {
843 result = IsFinalizable(component, inProgress, withImpureFinalizer);
1142 // Don't enforce component accessibility checks in module files;
1249 it.Increment(); // cue up first relevant component, if any
1256 const Symbol &component) const {
1257 if (const auto *details{component.detailsIf<ObjectEntityDetails>()}) {
1263 traverse = component.test(Symbol::Flag::ParentComp);
1265 traverse = !IsAllocatableOrObjectPointer(&component);
1267 traverse = !IsAllocatableOrObjectPointer(&component);
1269 traverse = !IsPointer(component);
1271 traverse = !IsAllocatableOrObjectPointer(&component);
1274 traverse = !IsPointer(component);
1296 static bool StopAtComponentPre(const Symbol &component) {
1300 return !component.test(Symbol::Flag::ParentComp);
1304 return component.has<ProcEntityDetails>() ||
1305 IsAllocatableOrObjectPointer(&component) ||
1306 (component.has<ObjectEntityDetails>() &&
1307 component.get<ObjectEntityDetails>().type() &&
1308 component.get<ObjectEntityDetails>().type()->AsIntrinsic());
1310 return !IsPointer(component);
1319 static bool StopAtComponentPost(const Symbol &component) {
1321 component.test(Symbol::Flag::ParentComp);
1328 if (deepest.component()) {
1332 derived{PlanComponentTraversal(*deepest.component())}) {
1338 return; // this is the next component to visit, after descending
1348 return; // this is the next component to visit, before descending
1353 const Symbol &component{*scopeIter->second};
1354 deepest.set_component(component);
1356 if (StopAtComponentPre<componentKind>(component)) {
1358 return; // this is the next component to visit, before descending
1360 deepest.set_visited(!StopAtComponentPost<componentKind>(component));
1372 result.push_back(DEREF(node.component()));
1382 for (const Symbol &component : GetComponentPath()) {
1383 designator += "%"s + component.name().ToString();
1413 const Symbol &component{*iter};
1414 if (const auto *object{component.detailsIf<ObjectEntityDetails>()}) {
1457 [&predicate](const Symbol &component) -> bool {
1458 return predicate(component);