FLANG
Public Types | Public Member Functions | Public Attributes | List of all members
Fortran::lower::pft::ModuleLikeUnit Struct Reference

Module-like units contain a list of function-like units. More...

#include <flang/Lower/PFTBuilder.h>

Inheritance diagram for Fortran::lower::pft::ModuleLikeUnit:
Fortran::lower::pft::ProgramUnit Fortran::lower::pft::ReferenceVariantBase< isConst, A >

Public Types

using ModuleStatement = ReferenceVariant< parser::Statement< parser::ModuleStmt >, parser::Statement< parser::EndModuleStmt >, parser::Statement< parser::SubmoduleStmt >, parser::Statement< parser::EndSubmoduleStmt > >
 
- Public Types inherited from Fortran::lower::pft::ReferenceVariantBase< isConst, A >
template<typename B >
using BaseType = std::conditional_t< isConst, const B, B >
 
template<typename B >
using Ref = common::Reference< BaseType< B > >
 

Public Member Functions

 ModuleLikeUnit (const parser::Module &m, const PftNode &parent)
 
 ModuleLikeUnit (const parser::Submodule &m, const PftNode &parent)
 
 ModuleLikeUnit (ModuleLikeUnit &&)=default
 
 ModuleLikeUnit (const ModuleLikeUnit &)=delete
 
LLVM_DUMP_METHOD void dump () const
 
parser::CharBlock getStartingSourceLoc () const
 Get the starting source location for this module like unit.
 
const Fortran::semantics::ScopegetScope () const
 Get the module scope.
 
- Public Member Functions inherited from Fortran::lower::pft::ProgramUnit
template<typename A >
 ProgramUnit (const A &p, const PftNode &parent)
 
 ProgramUnit (ProgramUnit &&)=default
 
 ProgramUnit (const ProgramUnit &)=delete
 
- Public Member Functions inherited from Fortran::lower::pft::ReferenceVariantBase< isConst, A >
 ReferenceVariantBase (std::variant< Ref< A >... > b)
 
template<typename T >
 ReferenceVariantBase (Ref< T > b)
 
template<typename B >
constexpr BaseType< B > & get () const
 
template<typename B >
constexpr BaseType< B > & getStatement () const
 
template<typename B >
constexpr BaseType< B > * getIf () const
 
template<typename B >
constexpr bool isA () const
 
template<typename VISITOR >
constexpr auto visit (VISITOR &&visitor) const
 

Public Attributes

ModuleStatement beginStmt
 
ModuleStatement endStmt
 
ContainedUnitList containedUnitList
 
EvaluationList evaluationList
 
- Public Attributes inherited from Fortran::lower::pft::ProgramUnit
PftNode parent
 

Detailed Description

Module-like units contain a list of function-like units.


The documentation for this struct was generated from the following files: