FLANG
Public Member Functions | Friends | List of all members
Fortran::semantics::ResolveNamesVisitor Class Reference
Inheritance diagram for Fortran::semantics::ResolveNamesVisitor:
Fortran::semantics::ScopeHandler Fortran::semantics::ModuleVisitor Fortran::semantics::SubprogramVisitor Fortran::semantics::ConstructVisitor Fortran::semantics::OmpVisitor Fortran::semantics::AccVisitor Fortran::semantics::ImplicitRulesVisitor Fortran::semantics::ScopeHandler Fortran::semantics::ScopeHandler Fortran::semantics::InterfaceVisitor Fortran::semantics::DeclarationVisitor Fortran::semantics::DeclarationVisitor Fortran::semantics::DeclarationVisitor Fortran::semantics::GenericHandler Fortran::semantics::ArraySpecVisitor Fortran::semantics::GenericHandler Fortran::semantics::ArraySpecVisitor Fortran::semantics::GenericHandler Fortran::semantics::ArraySpecVisitor Fortran::semantics::GenericHandler Fortran::semantics::ScopeHandler Fortran::semantics::ImplicitRulesVisitor Fortran::semantics::ImplicitRulesVisitor Fortran::semantics::DeclTypeSpecVisitor

Public Member Functions

 ResolveNamesVisitor (SemanticsContext &context, ImplicitRulesMap &rules, Scope &top)
 
ScopetopScope () const
 
template<typename T >
bool Pre (const T &)
 
template<typename T >
void Post (const T &)
 
bool Pre (const parser::SpecificationPart &)
 
bool Pre (const parser::Program &)
 
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 &)
 
void Post (const parser::SubstringInquiry &)
 
template<typename A , typename B >
void Post (const parser::LoopBounds< A, B > &x)
 
void Post (const parser::ProcComponentRef &)
 
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 &)
 
void Post (const parser::CompilerDirective &)
 
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, SourceName, bool hasCUDAChevrons)
 
void Post (const parser::OpenACCBlockConstruct &)
 
void Post (const parser::OpenACCCombinedConstruct &)
 
void Post (const parser::AccBeginBlockDirective &)
 
void Post (const parser::AccEndBlockDirective &)
 
void Post (const parser::AccBeginLoopDirective &x)
 
bool Pre (const parser::OpenACCBlockConstruct &)
 
bool Pre (const parser::OpenACCCombinedConstruct &)
 
bool Pre (const parser::AccBeginBlockDirective &x)
 
bool Pre (const parser::AccEndBlockDirective &x)
 
bool Pre (const parser::AccBeginLoopDirective &x)
 
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::AssociateStmt &)
 
void Post (const parser::EndAssociateStmt &)
 
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::Reduce &)
 
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::BlockConstruct &)
 
bool Pre (const parser::Association &)
 
bool Pre (const parser::SelectTypeConstruct &)
 
bool Pre (const parser::SelectTypeConstruct::TypeCase &)
 
bool Pre (const parser::SelectRankConstruct::RankCase &)
 
bool Pre (const parser::TypeGuardStmt::Guard &)
 
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::UnsignedTypeSpec &)
 
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::VectorTypeSpec &)
 
void Post (const parser::DeclarationTypeSpec::Type &)
 
void Post (const parser::DeclarationTypeSpec::Class &)
 
void Post (const parser::DeclarationTypeSpec::Record &)
 
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::FillDecl &)
 
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::StructureField &)
 
void Post (const parser::AllocateStmt &)
 
void Post (const parser::CommonBlockObject &)
 
void Post (const parser::BasedPointer &)
 
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::OldParameterStmt &)
 
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::CUDAAttributesStmt &)
 
bool Pre (const parser::TypeDeclarationStmt &)
 
bool Pre (const parser::KindParam &)
 
bool Pre (const parser::VectorTypeSpec &)
 
bool Pre (const parser::DeclarationTypeSpec::Type &)
 
bool Pre (const parser::DeclarationTypeSpec::Class &)
 
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::FinalProcedureStmt &)
 
bool Pre (const parser::TypeBoundGenericStmt &)
 
bool Pre (const parser::StructureDef &)
 
bool Pre (const parser::Union::UnionStmt &)
 
bool Pre (const parser::StructureField &)
 
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::BasedPointer &)
 
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 &)
 
bool Pre (const 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::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 &)
 
void Post (const parser::OmpCriticalDirective &)
 
void Post (const parser::OmpEndCriticalDirective &)
 
void Post (const parser::OpenMPThreadprivate &)
 
void Post (const parser::OpenMPDeclareTargetConstruct &)
 
void Post (const parser::OpenMPDeclarativeAllocate &)
 
void Post (const parser::OpenMPDeclarativeConstruct &)
 
void Post (const parser::OpenMPDepobjConstruct &x)
 
void Post (const parser::OpenMPAtomicConstruct &)
 
void Post (const parser::OmpClause &x)
 
bool Pre (const parser::OpenMPRequiresConstruct &x)
 
bool Pre (const parser::OmpSimpleStandaloneDirective &x)
 
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::OpenMPDeclareMapperConstruct &)
 
bool Pre (const parser::OmpMapClause &)
 
bool Pre (const parser::OmpEndLoopDirective &x)
 
bool Pre (const parser::OpenMPSectionsConstruct &)
 
bool Pre (const parser::OmpBeginSectionsDirective &x)
 
bool Pre (const parser::OmpEndSectionsDirective &x)
 
bool Pre (const parser::OmpCriticalDirective &x)
 
bool Pre (const parser::OmpEndCriticalDirective &x)
 
bool Pre (const parser::OpenMPThreadprivate &)
 
bool Pre (const parser::OpenMPDeclareTargetConstruct &)
 
bool Pre (const parser::OpenMPDeclarativeAllocate &)
 
bool Pre (const parser::OpenMPDeclarativeConstruct &x)
 
bool Pre (const parser::OpenMPDepobjConstruct &x)
 
bool Pre (const parser::OpenMPAtomicConstruct &x)
 
bool Pre (const parser::OmpClause &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 &)
 
bool Pre (const common::CUDADataAttr)
 
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::PrefixSpec::Launch_Bounds &)
 
void Post (const parser::PrefixSpec::Cluster_Dims &)
 
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 &)
 
bool Pre (const parser::PrefixSpec::Attributes &)
 
- Public Member Functions inherited from Fortran::semantics::ScopeHandler
ScopecurrScope ()
 
ScopeGetHostProcedure ()
 
ScopeInclusiveScope ()
 
ScopeNonDerivedTypeScope ()
 
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>
MessageSayWithDecl (const parser::Name &, Symbol &, MessageFixedText &&, A &&...args)
 
void SayLocalMustBeVariable (const parser::Name &, Symbol &)
 
MessageSayDerivedType (const SourceName &, MessageFixedText &&, const Scope &)
 
MessageSay2 (const SourceName &, MessageFixedText &&, const SourceName &, MessageFixedText &&)
 
MessageSay2 (const SourceName &, MessageFixedText &&, Symbol &, MessageFixedText &&)
 
MessageSay2 (const parser::Name &, MessageFixedText &&, Symbol &, MessageFixedText &&)
 
SymbolFindSymbol (const parser::Name &)
 
SymbolFindSymbol (const Scope &, const parser::Name &)
 
SymbolFindInScope (const Scope &, const parser::Name &)
 
SymbolFindInScope (const Scope &, const SourceName &)
 
template<typename T >
SymbolFindInScope (const T &name)
 
SymbolFindInTypeOrParents (const Scope &, const parser::Name &)
 
SymbolFindInTypeOrParents (const parser::Name &)
 
SymbolFindInScopeOrBlockConstructs (const Scope &, SourceName)
 
SymbolFindSeparateModuleProcedureInterface (const parser::Name &)
 
void EraseSymbol (const parser::Name &)
 
void EraseSymbol (const Symbol &symbol)
 
SymbolCopySymbol (const SourceName &, const Symbol &)
 
SymbolMakeSymbol (Scope &, const SourceName &, Attrs)
 
SymbolMakeSymbol (const SourceName &, Attrs=Attrs{})
 
SymbolMakeSymbol (const parser::Name &, Attrs=Attrs{})
 
SymbolMakeHostAssocSymbol (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)
 
- 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 &)
 
const DeclTypeSpecGetType (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)
 
- 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 &)
 
template<typename T >
const DeclTypeSpecProcessTypeSpec (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)
 
- Public Member Functions inherited from Fortran::semantics::AttrsVisitor
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)
 
- Public Member Functions inherited from Fortran::semantics::BaseVisitor
 BaseVisitor (SemanticsContext &c, ResolveNamesVisitor &v, ImplicitRulesMap &rules)
 
template<typename T >
void Walk (const T &)
 
MessageHandlermessageHandler ()
 
const std::optional< SourceName > & currStmtSource ()
 
SemanticsContextcontext () const
 
evaluate::FoldingContextGetFoldingContext () 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>
MessageSay (A &&...args)
 
template<typename... A>
MessageSay (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 ()
 
SymbolAddGenericUse (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::SubprogramVisitor
bool HandleStmtFunction (const parser::StmtFunctionStmt &)
 
bool Pre (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 &)
 
bool Pre (const parser::PrefixSpec::Attributes &)
 
void Post (const parser::PrefixSpec::Launch_Bounds &)
 
void Post (const parser::PrefixSpec::Cluster_Dims &)
 
bool BeginSubprogram (const parser::Name &, Symbol::Flag, bool hasModulePrefix=false, const parser::LanguageBindingSpec *=nullptr, const ProgramTree::EntryStmtList *=nullptr)
 
bool BeginMpSubprogram (const parser::Name &)
 
void PushBlockDataScope (const parser::Name &)
 
void EndSubprogram (std::optional< parser::CharBlock > stmtSource=std::nullopt, const std::optional< parser::LanguageBindingSpec > *=nullptr, const ProgramTree::EntryStmtList *=nullptr)
 
- 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::Reduce &)
 
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::BlockConstruct &)
 
void Post (const parser::Selector &)
 
void Post (const parser::AssociateStmt &)
 
void Post (const parser::EndAssociateStmt &)
 
bool Pre (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 &)
 
bool Pre (const parser::TypeGuardStmt::Guard &)
 
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)
 
void HandleImpliedAsynchronousInScope (const parser::Block &)
 
- 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::OldParameterStmt &)
 
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 &)
 
bool Pre (const parser::CUDAAttributesStmt &)
 
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::UnsignedTypeSpec &)
 
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::VectorTypeSpec &)
 
void Post (const parser::VectorTypeSpec &)
 
bool Pre (const parser::DeclarationTypeSpec::Type &)
 
void Post (const parser::DeclarationTypeSpec::Type &)
 
bool Pre (const parser::DeclarationTypeSpec::Class &)
 
void Post (const parser::DeclarationTypeSpec::Class &)
 
void Post (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 &)
 
void Post (const parser::FillDecl &)
 
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 &)
 
bool Pre (const parser::FinalProcedureStmt &)
 
bool Pre (const parser::TypeBoundGenericStmt &)
 
bool Pre (const parser::StructureDef &)
 
bool Pre (const parser::Union::UnionStmt &)
 
bool Pre (const parser::StructureField &)
 
void Post (const parser::StructureField &)
 
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 &)
 
bool Pre (const parser::CommonBlockObject &)
 
void Post (const parser::CommonBlockObject &)
 
bool Pre (const parser::EquivalenceStmt &)
 
bool Pre (const parser::SaveStmt &)
 
bool Pre (const parser::BasedPointer &)
 
void Post (const parser::BasedPointer &)
 
void PointerInitialization (const parser::Name &, const parser::InitialDataTarget &)
 
void PointerInitialization (const parser::Name &, const parser::ProcPointerInit &)
 
void NonPointerInitialization (const parser::Name &, const parser::ConstantExpr &)
 
void CheckExplicitInterface (const parser::Name &)
 
void CheckBindings (const parser::TypeBoundProcedureStmt::WithoutInterface &)
 
const parser::NameResolveDesignator (const parser::Designator &)
 
int GetVectorElementKind (TypeCategory category, const std::optional< parser::KindSelector > &kind)
 
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 &)
 
bool Pre (const common::CUDADataAttr)
 
- 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::OpenMPRequiresConstruct &x)
 
bool Pre (const parser::OmpSimpleStandaloneDirective &x)
 
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)
 
bool Pre (const parser::OpenMPDeclareMapperConstruct &)
 
bool Pre (const parser::OmpMapClause &)
 
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 &)
 
bool Pre (const parser::OmpCriticalDirective &x)
 
void Post (const parser::OmpCriticalDirective &)
 
bool Pre (const parser::OmpEndCriticalDirective &x)
 
void Post (const parser::OmpEndCriticalDirective &)
 
bool Pre (const parser::OpenMPThreadprivate &)
 
void Post (const parser::OpenMPThreadprivate &)
 
bool Pre (const parser::OpenMPDeclareTargetConstruct &)
 
void Post (const parser::OpenMPDeclareTargetConstruct &)
 
bool Pre (const parser::OpenMPDeclarativeAllocate &)
 
void Post (const parser::OpenMPDeclarativeAllocate &)
 
bool Pre (const parser::OpenMPDeclarativeConstruct &x)
 
void Post (const parser::OpenMPDeclarativeConstruct &)
 
bool Pre (const parser::OpenMPDepobjConstruct &x)
 
void Post (const parser::OpenMPDepobjConstruct &x)
 
bool Pre (const parser::OpenMPAtomicConstruct &x)
 
void Post (const parser::OpenMPAtomicConstruct &)
 
bool Pre (const parser::OmpClause &x)
 
void Post (const parser::OmpClause &x)
 
- Public Member Functions inherited from Fortran::semantics::AccVisitor
void AddAccSourceRange (const parser::CharBlock &)
 
bool Pre (const parser::OpenACCBlockConstruct &)
 
void Post (const parser::OpenACCBlockConstruct &)
 
bool Pre (const parser::OpenACCCombinedConstruct &)
 
void Post (const parser::OpenACCCombinedConstruct &)
 
bool Pre (const parser::AccBeginBlockDirective &x)
 
void Post (const parser::AccBeginBlockDirective &)
 
bool Pre (const parser::AccEndBlockDirective &x)
 
void Post (const parser::AccEndBlockDirective &)
 
bool Pre (const parser::AccBeginLoopDirective &x)
 
void Post (const parser::AccBeginLoopDirective &x)
 

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 &)
 
static bool NeedsScope (const parser::OmpClause &)
 
- Static Public Member Functions inherited from Fortran::semantics::AccVisitor
static bool NeedsScope (const parser::OpenACCBlockConstruct &)
 
- Protected Types inherited from Fortran::semantics::GenericHandler
using ProcedureKind = parser::ProcedureStmt::Kind
 
using SpecificProcMapType = std::multimap< Symbol *, std::pair< const parser::Name *, ProcedureKind > >
 
using GenericProcMapType = std::multimap< SourceName, Symbol * >
 
- Protected Member Functions inherited from Fortran::semantics::ScopeHandler
FuncResultStackfuncResultStack ()
 
void ApplyImplicitRules (Symbol &, bool allowForwardReference=false)
 
bool ImplicitlyTypeForwardRef (Symbol &)
 
void AcquireIntrinsicProcedureFlags (Symbol &)
 
const DeclTypeSpecGetImplicitType (Symbol &, bool respectImplicitNoneType=true)
 
void CheckEntryDummyUse (SourceName, Symbol *)
 
bool ConvertToObjectEntity (Symbol &)
 
bool ConvertToProcEntity (Symbol &, std::optional< SourceName >=std::nullopt)
 
const DeclTypeSpecMakeNumericType (TypeCategory, const std::optional< parser::KindSelector > &)
 
const DeclTypeSpecMakeNumericType (TypeCategory, int)
 
const DeclTypeSpecMakeLogicalType (const std::optional< parser::KindSelector > &)
 
const DeclTypeSpecMakeLogicalType (int)
 
void NotePossibleBadForwardRef (const parser::Name &)
 
std::optional< SourceNameHadForwardRef (const Symbol &) const
 
bool CheckPossibleBadForwardRef (const Symbol &)
 
DeferredDeclarationStateGetDeferredDeclarationState (bool add=false)
 
void SkipImplicitTyping (bool skip)
 
- 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)
 
const DeclTypeSpecGetDeclTypeSpec ()
 
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
SymbolGetGenericSymbol ()
 
void CheckGenericProcedures (Symbol &)
 
- Protected Member Functions inherited from Fortran::semantics::GenericHandler
void ResolveSpecificsInGeneric (Symbol &, bool isEndOfSpecificationPart)
 
void DeclaredPossibleSpecificProc (Symbol &)
 
- Protected Member Functions inherited from Fortran::semantics::DeclarationVisitor
bool BeginDecl ()
 
void EndDecl ()
 
SymbolDeclareObjectEntity (const parser::Name &, Attrs=Attrs{})
 
SymbolFindOrDeclareEnclosingEntity (const parser::Name &)
 
void DeclareLocalEntity (const parser::Name &, Symbol::Flag)
 
SymbolDeclareStatementEntity (const parser::DoVariable &, const std::optional< parser::IntegerTypeSpec > &)
 
SymbolMakeCommonBlockSymbol (const parser::Name &)
 
SymbolMakeCommonBlockSymbol (const std::optional< parser::Name > &)
 
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 &)
 
void FinishNamelists ()
 
const parser::NameResolveStructureComponent (const parser::StructureComponent &)
 
const parser::NameResolveDataRef (const parser::DataRef &)
 
const parser::NameResolveName (const parser::Name &)
 
bool PassesSharedLocalityChecks (const parser::Name &name, Symbol &symbol)
 
SymbolNoteInterfaceName (const parser::Name &)
 
bool IsUplevelReference (const Symbol &)
 
std::optional< SourceNameBeginCheckOnIndexUseInOwnBounds (const parser::DoVariable &name)
 
void EndCheckOnIndexUseInOwnBounds (const std::optional< SourceName > &restore)
 
void NoteScalarSpecificationArgument (const Symbol &symbol)
 
template<typename T >
SymbolDeclareEntity (const parser::Name &name, Attrs attrs)
 
- Protected Member Functions inherited from Fortran::semantics::ArraySpecVisitor
const ArraySpecarraySpec ()
 
void set_arraySpec (const ArraySpec arraySpec)
 
const ArraySpeccoarraySpec ()
 
void BeginArraySpec ()
 
void EndArraySpec ()
 
void ClearArraySpec ()
 
void ClearCoarraySpec ()
 
- Protected Attributes inherited from Fortran::semantics::ScopeHandler
bool inSpecificationPart_ {false}
 
bool deferImplicitTyping_ {false}
 
bool skipImplicitTyping_ {false}
 
bool inEquivalenceStmt_ {false}
 
struct Fortran::semantics::ScopeHandler::SpecificationPartState specPartState_
 
- Protected Attributes inherited from Fortran::semantics::AttrsVisitor
std::optional< Attrs > attrs_
 
std::optional< common::CUDADataAttr > cudaDataAttr_
 
- Protected Attributes inherited from Fortran::semantics::BaseVisitor
ImplicitRulesMap * implicitRulesMap_ {nullptr}
 
- Protected Attributes inherited from Fortran::semantics::SubprogramVisitor
bool misparsedStmtFuncFound_ {false}
 
- Protected Attributes inherited from Fortran::semantics::GenericHandler
SpecificProcMapType specificsForGenericProcs_
 
GenericProcMapType genericsForSpecificProcs_
 

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