Lines Matching defs:localSymbol
821 SourceName, SourceName, Symbol &localSymbol, const Symbol &useSymbol);
3166 if (auto *localSymbol{FindInScope(name)}) {
3167 DoAddUse(location, localSymbol->name(), *localSymbol, *symbol);
3201 auto &localSymbol{MakeSymbol(localName)};
3202 DoAddUse(useName, localName, localSymbol, *useSymbol);
3203 return {&localSymbol, useSymbol};
3237 SourceName location, SourceName localName, const Symbol &localSymbol,
3319 Symbol *localSymbol{&originalLocal};
3320 if (auto *details{localSymbol->detailsIf<UseErrorDetails>()}) {
3326 if (localSymbol->has<UnknownDetails>()) {
3331 useUltimate.name() != localSymbol->name()))) {
3339 localSymbol->set_details(GenericDetails{});
3340 localSymbol->get<GenericDetails>().set_kind(useGeneric->kind());
3342 localSymbol->set_details(UseDetails{localName, useSymbol});
3343 localSymbol->attrs() =
3345 localSymbol->implicitAttrs() =
3346 localSymbol->attrs() & Attrs{Attr::ASYNCHRONOUS, Attr::VOLATILE};
3347 localSymbol->flags() = useSymbol.flags();
3352 Symbol &localUltimate{localSymbol->GetUltimate()};
3364 *localSymbol, localUltimate, useUltimate, isError)) {
3368 if (!ConvertToUseError(*localSymbol, location, useSymbol)) {
3450 EraseSymbol(*localSymbol);
3451 CHECK(localSymbol->has<UseDetails>());
3452 UseErrorDetails details{localSymbol->get<UseDetails>()};
3455 // Restore *localSymbol in currScope
3458 iter->second = MutableSymbolRef{*localSymbol};
3471 &currScope().MakeSymbol(localSymbol->name(), useDerivedType->attrs(),
3472 UseDetails{localSymbol->name(), *useDerivedType});
3490 ConvertToUseError(*localSymbol, location, useSymbol);
3493 combinedDerivedType = localSymbol;
3561 useUltimate.name() == localSymbol->name()) {
3574 (localSymbol->attrs().test(Attr::INTRINSIC) &&
3578 EraseSymbol(*localSymbol);
3598 if (!ConvertToUseError(*localSymbol, location, useSymbol)) {
3602 .Attach(localSymbol->name(), "Previous declaration of '%s'"_en_US,
3614 Symbol &combined{currScope().MakeSymbol(localSymbol->name(),
3623 if (localSymbol->has<UseDetails>()) {
3626 EraseSymbol(*localSymbol);
3628 localSymbol->name(), localSymbol->attrs(), std::move(generic))};
3629 newSymbol.flags() = localSymbol->flags();
3631 localGeneric->AddUse(*localSymbol);
3632 localSymbol = &newSymbol;
3636 localSymbol->attrs() =
3638 localSymbol->flags() = useSymbol.flags();
3652 CHECK(localSymbol->has<UseDetails>());
3657 EraseSymbol(*localSymbol);
3664 newUseGeneric.AddUse(*localSymbol);
4203 auto &localSymbol{MakeSymbol(
4205 localSymbol.flags() = sym->flags();
9069 auto &localSymbol{MakeSymbol(name)};
9070 localSymbol.set_details(UseDetails{name, *symbol});
9071 localSymbol.flags() = symbol->flags();