|
using | ImplicitNoneNameSpec = parser::ImplicitStmt::ImplicitNoneNameSpec |
|
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) |
|