FLANG

Public Member Functions | Friends | List of all members
Fortran::semantics::ResolveNamesVisitor Class Reference
Inheritance diagram for Fortran::semantics::ResolveNamesVisitor:

## Public Member Functions
| ResolveNamesVisitor (SemanticsContext &context, ImplicitRulesMap &rules)
template<typename T >
bool | Pre (const T &)
template<typename T >
void | Post (const T &)
bool | Pre (const parser::SpecificationPart &)
void | Post (const parser::Program &)
bool | Pre (const parser::ImplicitStmt &)
void | Post (const parser::PointerObject &)
void | Post (const parser::AllocateObject &)
bool | Pre (const parser::PointerAssignmentStmt &)
void | Post (const parser::Designator &)
template<typename A , typename B >
void | Post (const parser::LoopBounds< A, B > &x)
void | Post (const parser::ProcComponentRef &)
bool | Pre (const parser::ActualArg &)
bool | Pre (const parser::FunctionReference &)
bool | Pre (const parser::CallStmt &)
bool | Pre (const parser::ImportStmt &)
void | Post (const parser::TypeGuardStmt &)
bool | Pre (const parser::StmtFunctionStmt &)
bool | Pre (const parser::DefinedOpName &)
bool | Pre (const parser::ProgramUnit &)
void | Post (const parser::AssignStmt &)
void | Post (const parser::AssignedGotoStmt &)
bool | Pre (const parser::MainProgram &)
bool | Pre (const parser::FunctionSubprogram &)
bool | Pre (const parser::SubroutineSubprogram &)
bool | Pre (const parser::SeparateModuleSubprogram &)
bool | Pre (const parser::Module &)
bool | Pre (const parser::Submodule &)
bool | Pre (const parser::BlockData &)
void | NoteExecutablePartCall (Symbol::Flag, const parser::Call &)
void | Post (const parser::ArraySpec &)
void | Post (const parser::ComponentArraySpec &)
void | Post (const parser::CoarraySpec &)
void | Post (const parser::AttrSpec &)
void | Post (const parser::ComponentAttrSpec &)
void | Post (const parser::DoConstruct &)
void | Post (const parser::ForallConstruct &)
void | Post (const parser::ForallStmt &)
void | Post (const parser::Selector &)
void | Post (const parser::EndAssociateStmt &)
void | Post (const parser::Association &)
void | Post (const parser::SelectTypeStmt &)
void | Post (const parser::SelectRankStmt &)
void | Post (const parser::SelectTypeConstruct &)
void | Post (const parser::SelectTypeConstruct::TypeCase &)
void | Post (const parser::SelectRankConstruct::RankCase &)
void | Post (const parser::TypeGuardStmt::Guard &)
void | Post (const parser::SelectRankCaseStmt::Rank &)
void | Post (const parser::EndChangeTeamStmt &)
void | Post (const parser::CoarrayAssociation &)
void | Post (const parser::SelectRankConstruct &)
void | Post (const parser::MaskedElsewhereStmt &x)
void | Post (const parser::ElsewhereStmt &x)
void | Post (const parser::EndWhereStmt &x)
void | Post (const parser::EndForallStmt &x)
void | Post (const parser::EndCriticalStmt &x)
void | Post (const parser::EndDoStmt &x)
void | Post (const parser::ElseIfStmt &x)
void | Post (const parser::ElseStmt &x)
void | Post (const parser::EndIfStmt &x)
void | Post (const parser::CaseStmt &x)
void | Post (const parser::EndSelectStmt &x)
void | Post (const parser::SelectRankCaseStmt &x)
void | Post (const parser::TypeGuardStmt &x)
void | Post (const parser::CycleStmt &x)
void | Post (const parser::ExitStmt &x)
bool | Pre (const parser::ConcurrentHeader &)
bool | Pre (const parser::LocalitySpec::Local &)
bool | Pre (const parser::LocalitySpec::LocalInit &)
bool | Pre (const parser::LocalitySpec::Shared &)
bool | Pre (const parser::AcSpec &)
bool | Pre (const parser::AcImpliedDo &)
bool | Pre (const parser::DataImpliedDo &)
bool | Pre (const parser::DataIDoObject &)
bool | Pre (const parser::DataStmtObject &)
bool | Pre (const parser::DataStmtValue &)
bool | Pre (const parser::DoConstruct &)
bool | Pre (const parser::ForallConstruct &)
bool | Pre (const parser::ForallStmt &)
bool | Pre (const parser::BlockStmt &)
bool | Pre (const parser::EndBlockStmt &)
bool | Pre (const parser::AssociateStmt &)
bool | Pre (const parser::SelectTypeConstruct &)
bool | Pre (const parser::SelectTypeConstruct::TypeCase &)
bool | Pre (const parser::SelectRankConstruct::RankCase &)
bool | Pre (const parser::ChangeTeamStmt &)
bool | Pre (const parser::WhereConstructStmt &x)
bool | Pre (const parser::ForallConstructStmt &x)
bool | Pre (const parser::CriticalStmt &x)
bool | Pre (const parser::LabelDoStmt &)
bool | Pre (const parser::NonLabelDoStmt &x)
bool | Pre (const parser::IfThenStmt &x)
bool | Pre (const parser::SelectCaseStmt &x)
bool | Pre (const parser::SelectRankConstruct &)
bool | Pre (const parser::SelectRankStmt &x)
bool | Pre (const parser::SelectTypeStmt &x)
void | Post (const parser::EntityDecl &)
void | Post (const parser::ObjectDecl &)
void | Post (const parser::PointerDecl &)
void | Post (const parser::BindStmt &)
void | Post (const parser::EnumDef &)
void | Post (const parser::AllocatableStmt &)
void | Post (const parser::TargetStmt &)
void | Post (const parser::DimensionStmt::Declaration &)
void | Post (const parser::CodimensionDecl &)
void | Post (const parser::TypeDeclarationStmt &)
void | Post (const parser::IntegerTypeSpec &)
void | Post (const parser::IntrinsicTypeSpec::Real &)
void | Post (const parser::IntrinsicTypeSpec::Complex &)
void | Post (const parser::IntrinsicTypeSpec::Logical &)
void | Post (const parser::IntrinsicTypeSpec::Character &)
void | Post (const parser::CharSelector::LengthAndKind &)
void | Post (const parser::CharLength &)
void | Post (const parser::LengthSelector &)
void | Post (const parser::DeclarationTypeSpec::Type &)
void | Post (const parser::DeclarationTypeSpec::Class &)
void | Post (const parser::DerivedTypeSpec &)
void | Post (const parser::DerivedTypeStmt &)
void | Post (const parser::TypeParamDefStmt &)
void | Post (const parser::ComponentDefStmt &)
void | Post (const parser::ComponentDecl &)
void | Post (const parser::ProcedureDeclarationStmt &)
void | Post (const parser::ProcComponentDefStmt &)
void | Post (const parser::ProcInterface &)
void | Post (const parser::ProcDecl &)
void | Post (const parser::TypeBoundProcedurePart &)
void | Post (const parser::ContainsStmt &)
void | Post (const parser::TypeBoundProcBinding &)
void | Post (const parser::TypeBoundProcedureStmt::WithoutInterface &)
void | Post (const parser::TypeBoundProcedureStmt::WithInterface &)
void | Post (const parser::FinalProcedureStmt &)
void | Post (const parser::AllocateStmt &)
void | Post (const parser::CommonStmt::Block &)
void | Post (const parser::CommonBlockObject &)
void | Post (const parser::ArraySpec &)
void | Post (const parser::ComponentArraySpec &)
void | Post (const parser::CoarraySpec &)
void | Post (const parser::AttrSpec &)
void | Post (const parser::ComponentAttrSpec &)
template<typename T >
void | Post (const parser::Statement< T > &)
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::Initialization &)
bool | Pre (const parser::BindStmt &)
bool | Pre (const parser::BindEntity &)
bool | Pre (const parser::NamedConstantDef &)
bool | Pre (const parser::NamedConstant &)
bool | Pre (const parser::Enumerator &)
bool | Pre (const parser::AccessSpec &)
bool | Pre (const parser::AsynchronousStmt &)
bool | Pre (const parser::ContiguousStmt &)
bool | Pre (const parser::ExternalStmt &)
bool | Pre (const parser::IntentStmt &)
bool | Pre (const parser::IntrinsicStmt &)
bool | Pre (const parser::OptionalStmt &)
bool | Pre (const parser::ProtectedStmt &)
bool | Pre (const parser::ValueStmt &)
bool | Pre (const parser::VolatileStmt &)
bool | Pre (const parser::AllocatableStmt &)
bool | Pre (const parser::TargetStmt &)
bool | Pre (const parser::TypeDeclarationStmt &)
bool | Pre (const parser::KindParam &)
bool | Pre (const parser::DeclarationTypeSpec::Type &)
bool | Pre (const parser::DeclarationTypeSpec::Class &)
bool | Pre (const parser::DeclarationTypeSpec::Record &)
bool | Pre (const parser::DerivedTypeDef &)
bool | Pre (const parser::DerivedTypeStmt &)
bool | Pre (const parser::TypeParamDefStmt &)
bool | Pre (const parser::TypeAttrSpec::Extends &)
bool | Pre (const parser::PrivateStmt &)
bool | Pre (const parser::SequenceStmt &)
bool | Pre (const parser::ComponentDefStmt &)
bool | Pre (const parser::ProcedureDeclarationStmt &)
bool | Pre (const parser::DataComponentDefStmt &)
bool | Pre (const parser::ProcComponentDefStmt &)
bool | Pre (const parser::ProcPointerInit &)
bool | Pre (const parser::TypeBoundProcedurePart &)
bool | Pre (const parser::TypeBoundProcBinding &)
bool | Pre (const parser::TypeBoundGenericStmt &)
bool | Pre (const parser::AllocateStmt &)
bool | Pre (const parser::StructureConstructor &)
bool | Pre (const parser::NamelistStmt::Group &)
bool | Pre (const parser::IoControlSpec &)
bool | Pre (const parser::CommonStmt::Block &)
bool | Pre (const parser::CommonBlockObject &)
bool | Pre (const parser::EquivalenceStmt &)
bool | Pre (const parser::SaveStmt &)
bool | Pre (const parser::BasedPointerStmt &)
template<typename T >
bool | Pre (const parser::Statement< T > &x)
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 &)
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 &)
void | Post (const parser::InterfaceStmt &)
void | Post (const parser::EndInterfaceStmt &)
void | Post (const parser::GenericStmt &)
bool | Pre (const parser::InterfaceStmt &)
bool | Pre (const parser::GenericSpec &)
bool | Pre (const parser::ProcedureStmt &)
bool | Pre (const parser::GenericStmt &)
void | Post (const parser::UseStmt &)
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::OpenMPBlockConstruct &)
void | Post (const parser::OmpBeginBlockDirective &)
void | Post (const parser::OmpEndBlockDirective &)
void | Post (const parser::OpenMPLoopConstruct &)
void | Post (const parser::OmpBeginLoopDirective &)
void | Post (const parser::OmpEndLoopDirective &)
void | Post (const parser::OpenMPSectionsConstruct &)
void | Post (const parser::OmpBeginSectionsDirective &)
void | Post (const parser::OmpEndSectionsDirective &)
bool | Pre (const parser::OpenMPBlockConstruct &)
bool | Pre (const parser::OmpBeginBlockDirective &x)
bool | Pre (const parser::OmpEndBlockDirective &x)
bool | Pre (const parser::OpenMPLoopConstruct &)
bool | Pre (const parser::OmpBeginLoopDirective &x)
bool | Pre (const parser::OmpEndLoopDirective &x)
bool | Pre (const parser::OpenMPSectionsConstruct &)
bool | Pre (const parser::OmpBeginSectionsDirective &x)
bool | Pre (const parser::OmpEndSectionsDirective &x)
template<typename T >
void | Post (const parser::Statement< T > &)
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 &)
template<typename T >
bool | Pre (const parser::Statement< T > &x)
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 &)
void | Post (const parser::SubroutineStmt &)
void | Post (const parser::FunctionStmt &)
void | Post (const parser::EntryStmt &)
void | Post (const parser::InterfaceBody::Subroutine &)
void | Post (const parser::InterfaceBody::Function &)
void | Post (const parser::ImplicitPart &)
bool | Pre (const parser::SubroutineStmt &)
bool | Pre (const parser::FunctionStmt &)
bool | Pre (const parser::EntryStmt &)
bool | Pre (const parser::InterfaceBody::Subroutine &)
bool | Pre (const parser::InterfaceBody::Function &)
bool | Pre (const parser::Suffix &)
bool | Pre (const parser::PrefixSpec &)
Public Member Functions inherited from Fortran::semantics::ScopeHandler
Scope & | currScope ()
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 &&, MessageFixedText &&)
void | SayWithDecl (const parser::Name &, Symbol &, MessageFixedText &&)
void | SayLocalMustBeVariable (const parser::Name &, Symbol &)
void | SayDerivedType (const SourceName &, MessageFixedText &&, const Scope &)
void | Say2 (const SourceName &, MessageFixedText &&, const SourceName &, MessageFixedText &&)
void | Say2 (const SourceName &, MessageFixedText &&, Symbol &, MessageFixedText &&)
void | 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 &)
Symbol * | FindInTypeOrParents (const Scope &, const parser::Name &)
Symbol * | FindInTypeOrParents (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{})
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 &)
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 &)
Public Member Functions inherited from Fortran::semantics::ImplicitRulesVisitor
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 &)
ImplicitRules & | implicitRules ()
const ImplicitRules & | implicitRules () const
bool | isImplicitNoneType () const
bool | isImplicitNoneExternal () const
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 &)
Public Member Functions inherited from Fortran::semantics::DeclTypeSpecVisitor
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 &)
void | Post (const parser::LanguageBindingSpec &)
bool | Pre (const parser::IntentSpec &)
bool | Pre (const parser::Pass &)
Public Member Functions inherited from Fortran::semantics::AttrsVisitor
bool | BeginAttrs ()
Attrs | GetAttrs ()
Attrs | EndAttrs ()
bool | SetPassNameOn (Symbol &)
bool | SetBindNameOn (Symbol &)
void | Post (const parser::LanguageBindingSpec &)
bool | Pre (const parser::IntentSpec &)
bool | Pre (const parser::Pass &)
bool | CheckAndSet (Attr)
Public Member Functions inherited from Fortran::semantics::BaseVisitor
| 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
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 | EvaluateConvertedExpr (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)
Public Member Functions inherited from Fortran::semantics::ModuleVisitor
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 ()
Public Member Functions inherited from Fortran::semantics::SubprogramVisitor
bool | HandleStmtFunction (const parser::StmtFunctionStmt &)
bool | Pre (const parser::SubroutineStmt &)
void | Post (const parser::SubroutineStmt &)
bool | Pre (const parser::FunctionStmt &)
void | Post (const parser::FunctionStmt &)
bool | Pre (const parser::EntryStmt &)
void | Post (const parser::EntryStmt &)
bool | Pre (const parser::InterfaceBody::Subroutine &)
void | Post (const parser::InterfaceBody::Subroutine &)
bool | Pre (const parser::InterfaceBody::Function &)
void | Post (const parser::InterfaceBody::Function &)
bool | Pre (const parser::Suffix &)
bool | Pre (const parser::PrefixSpec &)
void | Post (const parser::ImplicitPart &)
bool | BeginSubprogram (const parser::Name &, Symbol::Flag, bool hasModulePrefix=false)
bool | BeginMpSubprogram (const parser::Name &)
void | PushBlockDataScope (const parser::Name &)
void | EndSubprogram ()
Public Member Functions inherited from Fortran::semantics::InterfaceVisitor
bool | Pre (const parser::InterfaceStmt &)
void | Post (const parser::InterfaceStmt &)
void | Post (const parser::EndInterfaceStmt &)
bool | Pre (const parser::GenericSpec &)
bool | Pre (const parser::ProcedureStmt &)
bool | Pre (const parser::GenericStmt &)
void | Post (const parser::GenericStmt &)
bool | inInterfaceBlock () const
bool | isGeneric () const
bool | isAbstract () const
Public Member Functions inherited from Fortran::semantics::ConstructVisitor
bool | Pre (const parser::ConcurrentHeader &)
bool | Pre (const parser::LocalitySpec::Local &)
bool | Pre (const parser::LocalitySpec::LocalInit &)
bool | Pre (const parser::LocalitySpec::Shared &)
bool | Pre (const parser::AcSpec &)
bool | Pre (const parser::AcImpliedDo &)
bool | Pre (const parser::DataImpliedDo &)
bool | Pre (const parser::DataIDoObject &)
bool | Pre (const parser::DataStmtObject &)
bool | Pre (const parser::DataStmtValue &)
bool | Pre (const parser::DoConstruct &)
void | Post (const parser::DoConstruct &)
bool | Pre (const parser::ForallConstruct &)
void | Post (const parser::ForallConstruct &)
bool | Pre (const parser::ForallStmt &)
void | Post (const parser::ForallStmt &)
bool | Pre (const parser::BlockStmt &)
bool | Pre (const parser::EndBlockStmt &)
void | Post (const parser::Selector &)
bool | Pre (const parser::AssociateStmt &)
void | Post (const parser::EndAssociateStmt &)
void | Post (const parser::Association &)
void | Post (const parser::SelectTypeStmt &)
void | Post (const parser::SelectRankStmt &)
bool | Pre (const parser::SelectTypeConstruct &)
void | Post (const parser::SelectTypeConstruct &)
bool | Pre (const parser::SelectTypeConstruct::TypeCase &)
void | Post (const parser::SelectTypeConstruct::TypeCase &)
bool | Pre (const parser::SelectRankConstruct::RankCase &)
void | Post (const parser::SelectRankConstruct::RankCase &)
void | Post (const parser::TypeGuardStmt::Guard &)
void | Post (const parser::SelectRankCaseStmt::Rank &)
bool | Pre (const parser::ChangeTeamStmt &)
void | Post (const parser::EndChangeTeamStmt &)
void | Post (const parser::CoarrayAssociation &)
bool | Pre (const parser::WhereConstructStmt &x)
bool | Pre (const parser::ForallConstructStmt &x)
bool | Pre (const parser::CriticalStmt &x)
bool | Pre (const parser::LabelDoStmt &)
bool | Pre (const parser::NonLabelDoStmt &x)
bool | Pre (const parser::IfThenStmt &x)
bool | Pre (const parser::SelectCaseStmt &x)
bool | Pre (const parser::SelectRankConstruct &)
void | Post (const parser::SelectRankConstruct &)
bool | Pre (const parser::SelectRankStmt &x)
bool | Pre (const parser::SelectTypeStmt &x)
void | Post (const parser::MaskedElsewhereStmt &x)
void | Post (const parser::ElsewhereStmt &x)
void | Post (const parser::EndWhereStmt &x)
void | Post (const parser::EndForallStmt &x)
void | Post (const parser::EndCriticalStmt &x)
void | Post (const parser::EndDoStmt &x)
void | Post (const parser::ElseIfStmt &x)
void | Post (const parser::ElseStmt &x)
void | Post (const parser::EndIfStmt &x)
void | Post (const parser::CaseStmt &x)
void | Post (const parser::EndSelectStmt &x)
void | Post (const parser::SelectRankCaseStmt &x)
void | Post (const parser::TypeGuardStmt &x)
void | Post (const parser::CycleStmt &x)
void | Post (const parser::ExitStmt &x)
Public Member Functions inherited from Fortran::semantics::DeclarationVisitor
bool | Pre (const parser::Initialization &)
void | Post (const parser::EntityDecl &)
void | Post (const parser::ObjectDecl &)
void | Post (const parser::PointerDecl &)
bool | Pre (const parser::BindStmt &)
void | Post (const parser::BindStmt &)
bool | Pre (const parser::BindEntity &)
bool | Pre (const parser::NamedConstantDef &)
bool | Pre (const parser::NamedConstant &)
void | Post (const parser::EnumDef &)
bool | Pre (const parser::Enumerator &)
bool | Pre (const parser::AccessSpec &)
bool | Pre (const parser::AsynchronousStmt &)
bool | Pre (const parser::ContiguousStmt &)
bool | Pre (const parser::ExternalStmt &)
bool | Pre (const parser::IntentStmt &)
bool | Pre (const parser::IntrinsicStmt &)
bool | Pre (const parser::OptionalStmt &)
bool | Pre (const parser::ProtectedStmt &)
bool | Pre (const parser::ValueStmt &)
bool | Pre (const parser::VolatileStmt &)
bool | Pre (const parser::AllocatableStmt &)
void | Post (const parser::AllocatableStmt &)
bool | Pre (const parser::TargetStmt &)
void | Post (const parser::TargetStmt &)
void | Post (const parser::DimensionStmt::Declaration &)
void | Post (const parser::CodimensionDecl &)
bool | Pre (const parser::TypeDeclarationStmt &)
void | Post (const parser::TypeDeclarationStmt &)
void | Post (const parser::IntegerTypeSpec &)
void | Post (const parser::IntrinsicTypeSpec::Real &)
void | Post (const parser::IntrinsicTypeSpec::Complex &)
void | Post (const parser::IntrinsicTypeSpec::Logical &)
void | Post (const parser::IntrinsicTypeSpec::Character &)
void | Post (const parser::CharSelector::LengthAndKind &)
void | Post (const parser::CharLength &)
void | Post (const parser::LengthSelector &)
bool | Pre (const parser::KindParam &)
bool | Pre (const parser::DeclarationTypeSpec::Type &)
void | Post (const parser::DeclarationTypeSpec::Type &)
bool | Pre (const parser::DeclarationTypeSpec::Class &)
void | Post (const parser::DeclarationTypeSpec::Class &)
bool | Pre (const parser::DeclarationTypeSpec::Record &)
void | Post (const parser::DerivedTypeSpec &)
bool | Pre (const parser::DerivedTypeDef &)
bool | Pre (const parser::DerivedTypeStmt &)
void | Post (const parser::DerivedTypeStmt &)
bool | Pre (const parser::TypeParamDefStmt &)
void | Post (const parser::TypeParamDefStmt &)
bool | Pre (const parser::TypeAttrSpec::Extends &)
bool | Pre (const parser::PrivateStmt &)
bool | Pre (const parser::SequenceStmt &)
bool | Pre (const parser::ComponentDefStmt &)
void | Post (const parser::ComponentDefStmt &)
void | Post (const parser::ComponentDecl &)
bool | Pre (const parser::ProcedureDeclarationStmt &)
void | Post (const parser::ProcedureDeclarationStmt &)
bool | Pre (const parser::DataComponentDefStmt &)
bool | Pre (const parser::ProcComponentDefStmt &)
void | Post (const parser::ProcComponentDefStmt &)
bool | Pre (const parser::ProcPointerInit &)
void | Post (const parser::ProcInterface &)
void | Post (const parser::ProcDecl &)
bool | Pre (const parser::TypeBoundProcedurePart &)
void | Post (const parser::TypeBoundProcedurePart &)
void | Post (const parser::ContainsStmt &)
bool | Pre (const parser::TypeBoundProcBinding &)
void | Post (const parser::TypeBoundProcBinding &)
void | Post (const parser::TypeBoundProcedureStmt::WithoutInterface &)
void | Post (const parser::TypeBoundProcedureStmt::WithInterface &)
void | Post (const parser::FinalProcedureStmt &)
bool | Pre (const parser::TypeBoundGenericStmt &)
bool | Pre (const parser::AllocateStmt &)
void | Post (const parser::AllocateStmt &)
bool | Pre (const parser::StructureConstructor &)
bool | Pre (const parser::NamelistStmt::Group &)
bool | Pre (const parser::IoControlSpec &)
bool | Pre (const parser::CommonStmt::Block &)
void | Post (const parser::CommonStmt::Block &)
bool | Pre (const parser::CommonBlockObject &)
void | Post (const parser::CommonBlockObject &)
bool | Pre (const parser::EquivalenceStmt &)
bool | Pre (const parser::SaveStmt &)
bool | Pre (const parser::BasedPointerStmt &)
void | PointerInitialization (const parser::Name &, const parser::InitialDataTarget &)
void | PointerInitialization (const parser::Name &, const parser::ProcPointerInit &)
void | NonPointerInitialization (const parser::Name &, const parser::ConstantExpr &, bool inComponentDecl)
void | CheckExplicitInterface (const parser::Name &)
void | CheckBindings (const parser::TypeBoundProcedureStmt::WithoutInterface &)
const parser::Name * | ResolveDesignator (const parser::Designator &)
void | Post (const parser::ArraySpec &)
void | Post (const parser::ComponentArraySpec &)
void | Post (const parser::CoarraySpec &)
void | Post (const parser::AttrSpec &)
void | Post (const parser::ComponentAttrSpec &)
template<typename T >
void | Post (const parser::Statement< T > &)
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 &)
template<typename T >
bool | Pre (const parser::Statement< T > &x)
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 &)
Public Member Functions inherited from Fortran::semantics::ArraySpecVisitor
void | Post (const parser::ArraySpec &)
void | Post (const parser::ComponentArraySpec &)
void | Post (const parser::CoarraySpec &)
void | Post (const parser::AttrSpec &)
void | Post (const parser::ComponentAttrSpec &)
Public Member Functions inherited from Fortran::semantics::OmpVisitor
void | AddOmpSourceRange (const parser::CharBlock &)
bool | Pre (const parser::OpenMPBlockConstruct &)
void | Post (const parser::OpenMPBlockConstruct &)
bool | Pre (const parser::OmpBeginBlockDirective &x)
void | Post (const parser::OmpBeginBlockDirective &)
bool | Pre (const parser::OmpEndBlockDirective &x)
void | Post (const parser::OmpEndBlockDirective &)
bool | Pre (const parser::OpenMPLoopConstruct &)
void | Post (const parser::OpenMPLoopConstruct &)
bool | Pre (const parser::OmpBeginLoopDirective &x)
void | Post (const parser::OmpBeginLoopDirective &)
bool | Pre (const parser::OmpEndLoopDirective &x)
void | Post (const parser::OmpEndLoopDirective &)
bool | Pre (const parser::OpenMPSectionsConstruct &)
void | Post (const parser::OpenMPSectionsConstruct &)
bool | Pre (const parser::OmpBeginSectionsDirective &x)
void | Post (const parser::OmpBeginSectionsDirective &)
bool | Pre (const parser::OmpEndSectionsDirective &x)
void | Post (const parser::OmpEndSectionsDirective &)

## Friends
void | ResolveSpecificationParts (SemanticsContext &, const Symbol &)

## Additional Inherited Members
Public Types inherited from Fortran::semantics::ImplicitRulesVisitor
using | ImplicitNoneNameSpec = parser::ImplicitStmt::ImplicitNoneNameSpec
Static Public Member Functions inherited from Fortran::semantics::OmpVisitor
static bool | NeedsScope (const parser::OpenMPBlockConstruct &)
Protected Member Functions inherited from Fortran::semantics::ScopeHandler
void | ApplyImplicitRules (Symbol &)
const DeclTypeSpec * | GetImplicitType (Symbol &)
bool | ConvertToObjectEntity (Symbol &)
bool | ConvertToProcEntity (Symbol &)
const DeclTypeSpec & | MakeNumericType (TypeCategory, const std::optional< parser::KindSelector > &)
const DeclTypeSpec & | MakeLogicalType (const std::optional< parser::KindSelector > &)
Protected Member Functions inherited from Fortran::semantics::ImplicitRulesVisitor
void | BeginScope (const Scope &)
void | SetScope (const Scope &)
Protected Member Functions inherited from Fortran::semantics::DeclTypeSpecVisitor
bool | allowForwardReferenceToDerivedType () const
void | set_allowForwardReferenceToDerivedType (bool yes)
template<typename T >
const DeclTypeSpec * | ProcessTypeSpec (const T &x, bool allowForward=false)
const DeclTypeSpec * | GetDeclTypeSpec ()
void | BeginDeclTypeSpec ()
void | EndDeclTypeSpec ()
void | SetDeclTypeSpec (const DeclTypeSpec &)
void | SetDeclTypeSpecCategory (DeclTypeSpec::Category)
DeclTypeSpec::Category | GetDeclTypeSpecCategory () const
KindExpr | GetKindParamExpr (TypeCategory, const std::optional< parser::KindSelector > &)
void | CheckForAbstractType (const Symbol &typeSymbol)
Protected Member Functions inherited from Fortran::semantics::AttrsVisitor
Attr | AccessSpecToAttr (const parser::AccessSpec &x)
Attr | IntentSpecToAttr (const parser::IntentSpec &x)
Protected Member Functions inherited from Fortran::semantics::InterfaceVisitor
GenericDetails & | GetGenericDetails ()
void | CheckGenericProcedures (Symbol &)
Protected Member Functions inherited from Fortran::semantics::DeclarationVisitor
bool | BeginDecl ()
void | EndDecl ()
Symbol & | DeclareObjectEntity (const parser::Name &, Attrs)
Symbol & | FindOrDeclareEnclosingEntity (const parser::Name &)
Symbol * | DeclareLocalEntity (const parser::Name &)
Symbol * | DeclareStatementEntity (const parser::Name &, const std::optional< parser::IntegerTypeSpec > &)
bool | CheckUseError (const parser::Name &)
void | CheckAccessibility (const SourceName &, bool, Symbol &)
void | CheckCommonBlocks ()
void | CheckSaveStmts ()
void | CheckEquivalenceSets ()
bool | CheckNotInBlock (const char *)
bool | NameIsKnownOrIntrinsic (const parser::Name &)
const parser::Name * | ResolveStructureComponent (const parser::StructureComponent &)
const parser::Name * | ResolveDataRef (const parser::DataRef &)
const parser::Name * | ResolveVariable (const parser::Variable &)
const parser::Name * | ResolveName (const parser::Name &)
bool | PassesSharedLocalityChecks (const parser::Name &name, Symbol &symbol)
Symbol * | NoteInterfaceName (const parser::Name &)
Protected Member Functions inherited from Fortran::semantics::ArraySpecVisitor
const ArraySpec & | arraySpec ()
const ArraySpec & | coarraySpec ()
void | BeginArraySpec ()
void | EndArraySpec ()
void | ClearArraySpec ()
void | ClearCoarraySpec ()
Protected Attributes inherited from Fortran::semantics::AttrsVisitor
std::optional< Attrs > | attrs_
Protected Attributes inherited from Fortran::semantics::BaseVisitor
ImplicitRulesMap * | implicitRulesMap_ {nullptr}
Protected Attributes inherited from Fortran::semantics::SubprogramVisitor
bool | badStmtFuncFound_ {false}
bool | inExecutionPart_ {false}

The documentation for this class was generated from the following file:

- lib/Semantics/resolve-names.cpp