FLANG
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 &o, const DerivedTypeSpec &x)

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