FLANG
Public Types | Public Member Functions | Friends | List of all members
Fortran::semantics::DerivedTypeSpec Class Reference

Public Types

enum class  Category { DerivedType , IntrinsicVector , PairVector , QuadVector }
 
using RawParameter = std::pair< const parser::Keyword *, ParamValue >
 
using RawParameters = std::vector< RawParameter >
 
using ParameterMapType = std::map< SourceName, ParamValue >
 

Public Member Functions

 DerivedTypeSpec (SourceName, const Symbol &)
 
 DerivedTypeSpec (const DerivedTypeSpec &)
 
 DerivedTypeSpec (DerivedTypeSpec &&)
 
const SourceNamename () const
 
const SymboloriginalTypeSymbol () const
 
const SymboltypeSymbol () const
 
const Scopescope () const
 
const ScopeGetScope () const
 
void set_scope (const Scope &)
 
void ReplaceScope (const Scope &)
 
const RawParameters & rawParameters () const
 
const ParameterMapType & parameters () const
 
bool MightBeParameterized () const
 
bool IsForwardReferenced () const
 
bool HasDefaultInitialization (bool ignoreAllocatable=false, bool ignorePointer=true) const
 
bool HasDestruction () const
 
void AddRawParamValue (const parser::Keyword *, ParamValue &&)
 
void CookParameters (evaluate::FoldingContext &)
 
void EvaluateParameters (SemanticsContext &)
 
void AddParamValue (SourceName, ParamValue &&)
 
void Instantiate (Scope &containingScope)
 
ParamValueFindParameter (SourceName)
 
const ParamValueFindParameter (SourceName target) const
 
bool operator== (const DerivedTypeSpec &that) const
 
bool operator!= (const DerivedTypeSpec &that) const
 
bool MatchesOrExtends (const DerivedTypeSpec &) const
 
std::string AsFortran () const
 
std::string VectorTypeAsFortran () const
 
Category category () const
 
void set_category (Category category)
 
bool IsVectorType () const
 

Friends

llvm::raw_ostream & operator<< (llvm::raw_ostream &, const DerivedTypeSpec &)
 

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