|
| ENUM_CLASS (Kind, Global, IntrinsicModules, Module, MainProgram, Subprogram, BlockData, DerivedType, BlockConstruct, Forall, OtherConstruct, OpenACCConstruct, ImpliedDos, OtherClause) using ImportKind |
|
| Scope (SemanticsContext &context) |
|
| Scope (Scope &parent, Kind kind, Symbol *symbol, SemanticsContext &context) |
|
| Scope (const Scope &)=delete |
|
bool | operator== (const Scope &that) const |
|
bool | operator!= (const Scope &that) const |
|
Scope & | parent () |
|
const Scope & | parent () const |
|
Kind | kind () const |
|
bool | IsGlobal () const |
|
bool | IsIntrinsicModules () const |
|
bool | IsTopLevel () const |
|
bool | IsModule () const |
|
bool | IsSubmodule () const |
|
bool | IsDerivedType () const |
|
bool | IsStmtFunction () const |
|
bool | IsParameterizedDerivedType () const |
|
bool | IsParameterizedDerivedTypeInstantiation () const |
|
bool | IsDerivedTypeWithKindParameter () const |
| Does this derived type have at least one kind parameter ?
|
|
bool | IsDerivedTypeWithLengthParameter () const |
| Does this derived type have at least one length parameter ?
|
|
Symbol * | symbol () |
|
const Symbol * | symbol () const |
|
SemanticsContext & | context () const |
|
const Symbol * | GetSymbol () const |
|
const Scope * | GetDerivedTypeParent () const |
|
const Scope & | GetDerivedTypeBase () const |
|
std::optional< SourceName > | GetName () const |
|
bool | Contains (const Scope &) const |
|
Scope & | MakeScope (Kind kind, Symbol *symbol=nullptr) |
| Make a scope nested in this one.
|
|
SemanticsContext & | GetMutableSemanticsContext () const |
|
iterator | begin () |
|
iterator | end () |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
const_iterator | cbegin () const |
|
const_iterator | cend () const |
|
SymbolVector | GetSymbols () const |
|
MutableSymbolVector | GetSymbols () |
|
iterator | find (const SourceName &name) |
|
const_iterator | find (const SourceName &name) const |
|
size_type | erase (const SourceName &) |
|
bool | empty () const |
|
Symbol * | FindSymbol (const SourceName &) const |
|
Symbol * | FindComponent (SourceName) const |
|
std::pair< iterator, bool > | try_emplace (const SourceName &name, Attrs attrs=Attrs()) |
| Make a Symbol with unknown details.
|
|
template<typename D > |
common::IfNoLvalue< std::pair< iterator, bool >, D > | try_emplace (const SourceName &name, D &&details) |
| Make a Symbol with provided details.
|
|
template<typename D > |
common::IfNoLvalue< std::pair< iterator, bool >, D > | try_emplace (const SourceName &name, Attrs attrs, D &&details) |
| Make a Symbol with attrs and details.
|
|
Symbol * | CopySymbol (const Symbol &) |
|
std::list< EquivalenceSet > & | equivalenceSets () |
|
const std::list< EquivalenceSet > & | equivalenceSets () const |
|
void | add_equivalenceSet (EquivalenceSet &&) |
|
const mapType & | crayPointers () const |
|
void | add_crayPointer (const SourceName &, Symbol &) |
|
mapType & | commonBlocks () |
|
const mapType & | commonBlocks () const |
|
Symbol & | MakeCommonBlock (const SourceName &) |
|
Symbol * | FindCommonBlock (const SourceName &) const |
|
template<typename D > |
common::IfNoLvalue< Symbol &, D > | MakeSymbol (const SourceName &name, Attrs attrs, D &&details) |
| Make a Symbol but don't add it to the scope.
|
|
std::list< Scope > & | children () |
|
const std::list< Scope > & | children () const |
|
Scope * | FindSubmodule (const SourceName &) const |
|
bool | AddSubmodule (const SourceName &, Scope &) |
|
const DeclTypeSpec * | FindType (const DeclTypeSpec &) const |
|
const DeclTypeSpec & | MakeNumericType (TypeCategory, KindExpr &&kind) |
|
const DeclTypeSpec & | MakeLogicalType (KindExpr &&kind) |
|
const DeclTypeSpec & | MakeCharacterType (ParamValue &&length, KindExpr &&kind=KindExpr{0}) |
|
DeclTypeSpec & | MakeDerivedType (DeclTypeSpec::Category, DerivedTypeSpec &&) |
|
const DeclTypeSpec & | MakeTypeStarType () |
|
const DeclTypeSpec & | MakeClassStarType () |
|
const DeclTypeSpec * | GetType (const SomeExpr &) |
|
std::size_t | size () const |
|
void | set_size (std::size_t size) |
|
std::optional< std::size_t > | alignment () const |
|
void | SetAlignment (std::size_t n) |
|
ImportKind | GetImportKind () const |
|
std::set< SourceName > | importNames () const |
|
bool | CanImport (const SourceName &) const |
|
std::optional< parser::MessageFixedText > | SetImportKind (ImportKind) |
|
void | add_importName (const SourceName &) |
|
const DerivedTypeSpec * | derivedTypeSpec () const |
|
DerivedTypeSpec * | derivedTypeSpec () |
|
void | set_derivedTypeSpec (DerivedTypeSpec &spec) |
|
parser::Message::Reference | instantiationContext () const |
|
void | set_instantiationContext (parser::Message::Reference &&mref) |
|
bool | hasSAVE () const |
|
void | set_hasSAVE (bool yes=true) |
|
const parser::CharBlock & | sourceRange () const |
|
void | AddSourceRange (parser::CharBlock) |
|
const DeclTypeSpec * | FindInstantiatedDerivedType (const DerivedTypeSpec &, DeclTypeSpec::Category=DeclTypeSpec::TypeDerived) const |
|
bool | IsModuleFile () const |
|
void | InstantiateDerivedTypes () |
|
const Symbol * | runtimeDerivedTypeDescription () const |
|
void | set_runtimeDerivedTypeDescription (const Symbol &symbol) |
|