FLANG
Public Member Functions | Static Public Member Functions | List of all members
Fortran::evaluate::DynamicType Class Reference
Inheritance diagram for Fortran::evaluate::DynamicType:
Fortran::evaluate::DynamicTypeWithLength

Public Member Functions

constexpr DynamicType (TypeCategory cat, int k)
 
 DynamicType (int charKind, const semantics::ParamValue &len)
 
constexpr DynamicType (int k, std::int64_t len)
 
constexpr DynamicType (const semantics::DerivedTypeSpec &dt, bool poly=false)
 
bool operator== (const DynamicType &) const
 
bool operator!= (const DynamicType &that) const
 
constexpr TypeCategory category () const
 
constexpr int kind () const
 
constexpr const semantics::ParamValuecharLengthParamValue () const
 
constexpr std::optional< std::int64_t > knownLength () const
 
std::optional< Expr< SubscriptInteger > > GetCharLength () const
 
std::size_t GetAlignment (const TargetCharacteristics &) const
 
std::optional< Expr< SubscriptInteger > > MeasureSizeInBytes (FoldingContext &, bool aligned, std::optional< std::int64_t > charLength=std::nullopt) const
 
std::string AsFortran () const
 
std::string AsFortran (std::string &&charLenExpr) const
 
DynamicType ResultTypeForMultiply (const DynamicType &) const
 
bool IsAssumedLengthCharacter () const
 
bool IsNonConstantLengthCharacter () const
 
bool IsTypelessIntrinsicArgument () const
 
constexpr bool IsAssumedType () const
 
constexpr bool IsPolymorphic () const
 
constexpr bool IsUnlimitedPolymorphic () const
 
bool IsLengthlessIntrinsicType () const
 
constexpr const semantics::DerivedTypeSpecGetDerivedTypeSpec () const
 
bool RequiresDescriptor () const
 
bool HasDeferredTypeParameter () const
 
bool IsTkCompatibleWith (const DynamicType &) const
 
bool IsTkCompatibleWith (const DynamicType &, common::IgnoreTKRSet) const
 
bool IsTkLenCompatibleWith (const DynamicType &) const
 
std::optional< bool > ExtendsTypeOf (const DynamicType &) const
 
std::optional< bool > SameTypeAs (const DynamicType &) const
 
bool IsEquivalentTo (const DynamicType &) const
 
DynamicType DropNonConstantCharacterLength () const
 

Static Public Member Functions

static constexpr DynamicType TypelessIntrinsicArgument ()
 
static constexpr DynamicType UnlimitedPolymorphic ()
 
static constexpr DynamicType AssumedType ()
 
static std::optional< DynamicTypeFrom (const semantics::DeclTypeSpec &)
 
static std::optional< DynamicTypeFrom (const semantics::Symbol &)
 
template<typename A >
static std::optional< DynamicTypeFrom (const A &x)
 
template<typename A >
static std::optional< DynamicTypeFrom (const A *p)
 
template<typename A >
static std::optional< DynamicTypeFrom (const std::optional< A > &x)
 

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