| 
| 
bool  | Pre (const parser::AccessStmt &) | 
| 
bool  | Pre (const parser::Only &) | 
| 
bool  | Pre (const parser::Rename::Names &) | 
| 
bool  | Pre (const parser::Rename::Operators &) | 
| 
bool  | Pre (const parser::UseStmt &) | 
| 
void  | Post (const parser::UseStmt &) | 
| 
void  | BeginModule (const parser::Name &, bool isSubmodule) | 
| 
bool  | BeginSubmodule (const parser::Name &, const parser::ParentIdentifier &) | 
| 
void  | ApplyDefaultAccess () | 
| 
Symbol &  | AddGenericUse (GenericDetails &, const SourceName &, const Symbol &) | 
| 
void  | AddAndCheckModuleUse (SourceName, bool isIntrinsic) | 
| 
void  | CollectUseRenames (const parser::UseStmt &) | 
| 
void  | ClearUseRenames () | 
| 
void  | ClearUseOnly () | 
| 
void  | ClearModuleUses () | 
| Public Member Functions inherited from Fortran::semantics::ScopeHandler | 
| 
Scope &  | currScope () | 
| 
Scope *  | GetHostProcedure () | 
| 
Scope &  | InclusiveScope () | 
| 
Scope &  | NonDerivedTypeScope () | 
| 
void  | PushScope (Scope::Kind kind, Symbol *symbol) | 
| 
void  | PushScope (Scope &scope) | 
| 
void  | PopScope () | 
| 
void  | SetScope (Scope &) | 
| 
template<typename T>  | 
| bool  | Pre (const parser::Statement< T > &x) | 
| 
template<typename T>  | 
| void  | Post (const parser::Statement< T > &) | 
| 
void  | SayAlreadyDeclared (const parser::Name &, Symbol &) | 
| 
void  | SayAlreadyDeclared (const SourceName &, Symbol &) | 
| 
void  | SayAlreadyDeclared (const SourceName &, const SourceName &) | 
| 
void  | SayWithReason (const parser::Name &, Symbol &, MessageFixedText &&, Message &&) | 
| 
template<typename... A>  | 
| Message &  | SayWithDecl (const parser::Name &, Symbol &, MessageFixedText &&, A &&...args) | 
| 
void  | SayLocalMustBeVariable (const parser::Name &, Symbol &) | 
| 
Message &  | SayDerivedType (const SourceName &, MessageFixedText &&, const Scope &) | 
| 
Message &  | Say2 (const SourceName &, MessageFixedText &&, const SourceName &, MessageFixedText &&) | 
| 
Message &  | Say2 (const SourceName &, MessageFixedText &&, Symbol &, MessageFixedText &&) | 
| 
Message &  | Say2 (const parser::Name &, MessageFixedText &&, Symbol &, MessageFixedText &&) | 
| 
Symbol *  | FindSymbol (const parser::Name &) | 
| 
Symbol *  | FindSymbol (const Scope &, const parser::Name &) | 
| 
Symbol *  | FindInScope (const Scope &, const parser::Name &) | 
| 
Symbol *  | FindInScope (const Scope &, const SourceName &) | 
| 
template<typename T>  | 
| Symbol *  | FindInScope (const T &name) | 
| 
Symbol *  | FindInTypeOrParents (const Scope &, const parser::Name &) | 
| 
Symbol *  | FindInTypeOrParents (const parser::Name &) | 
| 
Symbol *  | FindInScopeOrBlockConstructs (const Scope &, SourceName) | 
| 
Symbol *  | FindSeparateModuleProcedureInterface (const parser::Name &) | 
| 
void  | EraseSymbol (const parser::Name &) | 
| 
void  | EraseSymbol (const Symbol &symbol) | 
| 
Symbol &  | CopySymbol (const SourceName &, const Symbol &) | 
| 
Symbol &  | MakeSymbol (Scope &, const SourceName &, Attrs) | 
| 
Symbol &  | MakeSymbol (const SourceName &, Attrs=Attrs{}) | 
| 
Symbol &  | MakeSymbol (const parser::Name &, Attrs=Attrs{}) | 
| 
Symbol &  | MakeHostAssocSymbol (const parser::Name &, const Symbol &) | 
| 
template<typename D>  | 
| common::IfNoLvalue< Symbol &, D >  | MakeSymbol (const parser::Name &name, D &&details) | 
| 
template<typename D>  | 
| common::IfNoLvalue< Symbol &, D >  | MakeSymbol (const parser::Name &name, const Attrs &attrs, D &&details) | 
| 
template<typename D>  | 
| common::IfNoLvalue< Symbol &, D >  | MakeSymbol (const SourceName &name, const Attrs &attrs, D &&details) | 
| 
void  | MakeExternal (Symbol &) | 
| 
bool  | CheckDuplicatedAttr (SourceName, Symbol &, Attr) | 
| 
bool  | CheckDuplicatedAttrs (SourceName, Symbol &, Attrs) | 
| 
void  | SetExplicitAttr (Symbol &symbol, Attr attr) const | 
| 
void  | SetExplicitAttrs (Symbol &symbol, Attrs attrs) const | 
| 
void  | SetImplicitAttr (Symbol &symbol, Attr attr) const | 
| 
void  | SetCUDADataAttr (SourceName, Symbol &, std::optional< common::CUDADataAttr >) | 
| 
void  | Post (const parser::ParameterStmt &) | 
| 
void  | Post (const parser::ImplicitSpec &) | 
| 
void  | Post (const parser::IntrinsicTypeSpec::DoublePrecision &) | 
| 
void  | Post (const parser::IntrinsicTypeSpec::DoubleComplex &) | 
| 
void  | Post (const parser::DeclarationTypeSpec::ClassStar &) | 
| 
void  | Post (const parser::DeclarationTypeSpec::TypeStar &) | 
| 
void  | Post (const parser::TypeGuardStmt &) | 
| 
void  | Post (const parser::TypeSpec &) | 
| 
void  | Post (const parser::LanguageBindingSpec &) | 
| 
bool  | Pre (const parser::ImplicitStmt &) | 
| 
bool  | Pre (const parser::LetterSpec &) | 
| 
bool  | Pre (const parser::ImplicitSpec &) | 
| 
bool  | Pre (const parser::TypeGuardStmt &) | 
| 
bool  | Pre (const parser::IntentSpec &) | 
| 
bool  | Pre (const parser::Pass &) | 
| 
bool  | Pre (const common::CUDADataAttr) | 
| 
void  | Post (const parser::ParameterStmt &) | 
| 
bool  | Pre (const parser::ImplicitStmt &) | 
| 
bool  | Pre (const parser::LetterSpec &) | 
| 
bool  | Pre (const parser::ImplicitSpec &) | 
| 
void  | Post (const parser::ImplicitSpec &) | 
| 
const DeclTypeSpec *  | GetType (SourceName name, bool respectImplicitNoneType=true) | 
| 
bool  | isImplicitNoneType () const | 
| 
bool  | isImplicitNoneType (const Scope &scope) const | 
| 
bool  | isImplicitNoneExternal () const | 
| 
void  | set_inheritFromParent (bool x) | 
| 
void  | Post (const parser::IntrinsicTypeSpec::DoublePrecision &) | 
| 
void  | Post (const parser::IntrinsicTypeSpec::DoubleComplex &) | 
| 
void  | Post (const parser::DeclarationTypeSpec::ClassStar &) | 
| 
void  | Post (const parser::DeclarationTypeSpec::TypeStar &) | 
| 
void  | Post (const parser::TypeGuardStmt &) | 
| 
void  | Post (const parser::TypeSpec &) | 
| 
void  | Post (const parser::LanguageBindingSpec &) | 
| 
bool  | Pre (const parser::TypeGuardStmt &) | 
| 
bool  | Pre (const parser::IntentSpec &) | 
| 
bool  | Pre (const parser::Pass &) | 
| 
bool  | Pre (const common::CUDADataAttr) | 
| 
void  | Post (const parser::IntrinsicTypeSpec::DoublePrecision &) | 
| 
void  | Post (const parser::IntrinsicTypeSpec::DoubleComplex &) | 
| 
void  | Post (const parser::DeclarationTypeSpec::ClassStar &) | 
| 
void  | Post (const parser::DeclarationTypeSpec::TypeStar &) | 
| 
bool  | Pre (const parser::TypeGuardStmt &) | 
| 
void  | Post (const parser::TypeGuardStmt &) | 
| 
void  | Post (const parser::TypeSpec &) | 
| 
template<typename T>  | 
| const DeclTypeSpec *  | ProcessTypeSpec (const T &x, bool allowForward=false) | 
| 
void  | Post (const parser::LanguageBindingSpec &) | 
| 
bool  | Pre (const parser::IntentSpec &) | 
| 
bool  | Pre (const parser::Pass &) | 
| 
bool  | Pre (const common::CUDADataAttr) | 
| 
bool  | BeginAttrs () | 
| 
Attrs  | GetAttrs () | 
| 
std::optional< common::CUDADataAttr >  | cudaDataAttr () | 
| 
Attrs  | EndAttrs () | 
| 
bool  | SetPassNameOn (Symbol &) | 
| 
void  | SetBindNameOn (Symbol &) | 
| 
void  | Post (const parser::LanguageBindingSpec &) | 
| 
bool  | Pre (const parser::IntentSpec &) | 
| 
bool  | Pre (const parser::Pass &) | 
| 
bool  | CheckAndSet (Attr) | 
| 
bool  | Pre (const common::CUDADataAttr) | 
| 
  | BaseVisitor (SemanticsContext &c, ResolveNamesVisitor &v, ImplicitRulesMap &rules) | 
| 
template<typename T>  | 
| void  | Walk (const T &) | 
| 
MessageHandler &  | messageHandler () | 
| 
const std::optional< SourceName > &  | currStmtSource () | 
| 
SemanticsContext &  | context () const | 
| 
evaluate::FoldingContext &  | GetFoldingContext () const | 
| 
bool  | IsIntrinsic (const SourceName &name, std::optional< Symbol::Flag > flag) const | 
| 
bool  | InModuleFile () const | 
| 
void  | MakePlaceholder (const parser::Name &, MiscDetails::Kind) | 
| 
template<typename T>  | 
| common::IfNoLvalue< T, T >  | FoldExpr (T &&expr) | 
| 
template<typename T>  | 
| MaybeExpr  | EvaluateExpr (const T &expr) | 
| 
template<typename T>  | 
| MaybeExpr  | EvaluateNonPointerInitializer (const Symbol &symbol, const T &expr, parser::CharBlock source) | 
| 
template<typename T>  | 
| MaybeIntExpr  | EvaluateIntExpr (const T &expr) | 
| 
template<typename T>  | 
| MaybeSubscriptIntExpr  | EvaluateSubscriptIntExpr (const T &expr) | 
| 
template<typename... A>  | 
| Message &  | Say (A &&...args) | 
| 
template<typename... A>  | 
| Message &  | Say (const parser::Name &name, MessageFixedText &&text, const A &...args) |