Lines Matching full:semantics
15 #include "flang/Semantics/tools.h"
26 ancestors(const Fortran::semantics::Scope &scope,
28 llvm::SmallVector<const Fortran::semantics::Scope *> scopes;
38 case Fortran::semantics::Scope::Kind::Module:
41 case Fortran::semantics::Scope::Kind::Subprogram:
44 case Fortran::semantics::Scope::Kind::MainProgram:
50 case Fortran::semantics::Scope::Kind::BlockConstruct: {
68 ancestors(const Fortran::semantics::Symbol &symbol,
76 const Fortran::semantics::Scope &scope,
87 const Fortran::semantics::Symbol &symbol, ScopeBlockIdMap &scopeBlockIdMap,
108 if (Fortran::semantics::IsNamedConstant(ultimateSymbol))
115 [&](const Fortran::semantics::MainProgramDetails &) {
118 [&](const Fortran::semantics::SubprogramDetails &subpDetails) {
121 Fortran::semantics::IsExternal(ultimateSymbol))
126 const Fortran::semantics::Symbol *interface = &ultimateSymbol;
127 if (interface->attrs().test(Fortran::semantics::Attr::MODULE) &&
134 [&](const Fortran::semantics::ProcEntityDetails &) {
136 if (Fortran::semantics::IsPointer(ultimateSymbol) ||
137 Fortran::semantics::IsDummy(ultimateSymbol)) {
148 [&](const Fortran::semantics::ObjectEntityDetails &) {
151 [&](const Fortran::semantics::AssocEntityDetails &) {
154 [&](const Fortran::semantics::NamelistDetails &) {
160 [&](const Fortran::semantics::CommonBlockDetails &) {
161 return Fortran::semantics::GetCommonBlockObjectName(ultimateSymbol,
164 [&](const Fortran::semantics::ProcBindingDetails &procBinding) {
168 [&](const Fortran::semantics::GenericDetails &generic)
178 [&](const Fortran::semantics::DerivedTypeDetails &) -> std::string {
190 Fortran::lower::mangle::mangleName(const Fortran::semantics::Symbol &symbol,
194 Fortran::semantics::Scope::Kind::BlockConstruct ||
195 symbol.has<Fortran::semantics::SubprogramDetails>() ||
196 Fortran::semantics::IsBindCProcedure(symbol)) &&
203 const Fortran::semantics::DerivedTypeSpec &derivedType,
206 const Fortran::semantics::Symbol &ultimateSymbol =
217 Fortran::semantics::OrderParameterDeclarations(ultimateSymbol)) {
219 param->get<Fortran::semantics::TypeParamDetails>();
221 const Fortran::semantics::ParamValue *paramValue =
224 const Fortran::semantics::MaybeIntExpr paramExpr =
237 const Fortran::semantics::Symbol &component,
239 if (!component.attrs().test(Fortran::semantics::Attr::PRIVATE))
241 const Fortran::semantics::DerivedTypeSpec *componentParentType =
248 // without access to semantics::Symbol.
249 if (Fortran::semantics::IsIsoCType(componentParentType))
303 const Fortran::semantics::Symbol &sym) {