|
FLANG
|
Public Types | |
| using | EntryStmtList = std::list<common::Reference<const parser::EntryStmt>> |
| using | GenericSpecList |
Public Member Functions | |
| ENUM_CLASS (Kind, Program, Function, Subroutine, MpSubprogram, Module, Submodule, BlockData) using Stmt | |
| ProgramTree (const parser::Name &name, const parser::SpecificationPart &spec, const parser::ExecutionPart *exec=nullptr) | |
| const parser::Name & | name () const |
| Kind | GetKind () const |
| const Stmt & | stmt () const |
| bool | isSpecificationPartResolved () const |
| void | set_isSpecificationPartResolved (bool yes=true) |
| const parser::ParentIdentifier & | GetParentId () const |
| const parser::SpecificationPart & | spec () const |
| const parser::ExecutionPart * | exec () const |
| std::list< ProgramTree > & | children () |
| const std::list< ProgramTree > & | children () const |
| const EntryStmtList & | entryStmts () const |
| const GenericSpecList & | genericSpecs () const |
| Symbol::Flag | GetSubpFlag () const |
| bool | IsModule () const |
| bool | HasModulePrefix () const |
| Scope * | scope () const |
| void | set_scope (Scope &) |
| const parser::LanguageBindingSpec * | bindingSpec () const |
| ProgramTree & | set_bindingSpec (const parser::LanguageBindingSpec *spec) |
| void | AddChild (ProgramTree &&) |
| void | AddEntry (const parser::EntryStmt &) |
| void | AddGeneric (const parser::GenericSpec &) |
| template<typename T> | |
| ProgramTree & | set_stmt (const parser::Statement< T > &stmt) |
| template<typename T> | |
| ProgramTree & | set_endStmt (const parser::Statement< T > &stmt) |
Static Public Member Functions | |
| static ProgramTree & | Build (const parser::ProgramUnit &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::MainProgram &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::FunctionSubprogram &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::SubroutineSubprogram &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::SeparateModuleSubprogram &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::Module &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::Submodule &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::BlockData &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::CompilerDirective &, SemanticsContext &) |
| static std::optional< ProgramTree > | Build (const parser::OpenACCRoutineConstruct &, SemanticsContext &) |
| using Fortran::semantics::ProgramTree::GenericSpecList |