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

Public Member Functions

 DynamicTypeWithLength (const DynamicType &t)
 
std::optional< Expr< SubscriptInteger > > LEN () const
 
- Public Member Functions inherited from Fortran::evaluate::DynamicType
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
 

Public Attributes

std::optional< Expr< SubscriptInteger > > length
 

Additional Inherited Members

- Static Public Member Functions inherited from Fortran::evaluate::DynamicType
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 struct was generated from the following file: