Lines Matching defs:component
143 const Component &component, ConstantSubscript which) {
144 const Symbol &comp{component.GetLastSymbol()};
148 const DataRef &base{component.base()};
150 if (base.Rank() == 0) { // A%X(:) - apply "which" to component
201 if (const Component * component{proc.GetComponent()}) {
202 return FoldDesignator(*component, which);
215 // "offset" is decremented in place to hold remaining component offset.
249 // Maps an offset back to a component, when unambiguous.
255 const Symbol &component{*pair.second};
256 if (offset >= static_cast<ConstantSubscript>(component.offset()) &&
258 component.offset() + component.size())) {
262 result = &component;
269 // Converts an offset into subscripts &/or component references. Recursive.
294 component{OffsetToUniqueComponent(
296 offset -= component->offset();
298 NamedEntity{Component{std::move(*result), *component}}, offset,
322 } else if (auto *component{std::get_if<Component>(&dataRef->u)}) {
323 return Expr<SomeType>{ProcedureDesignator{std::move(*component)}};
335 // Pick a COMPLEX component