FLANG

Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Fortran::evaluate::characteristics::TypeAndShape Class Reference

## Public Member Functions
| ENUM_CLASS (Attr, AssumedRank, AssumedShape, AssumedSize, DeferredShape, Coarray) using Attrs
| TypeAndShape (DynamicType t)
| TypeAndShape (DynamicType t, int rank)
| TypeAndShape (DynamicType t, Shape &&s)
| TypeAndShape (DynamicType t, std::optional< Shape > &&s)
bool | operator== (const TypeAndShape &) const
bool | operator!= (const TypeAndShape &that) const
DynamicType | type () const
TypeAndShape & | set_type (DynamicType t)
const std::optional< Expr< SomeInteger > > & | LEN () const
TypeAndShape & | set_LEN (Expr< SomeInteger > &&len)
const Shape & | shape () const
const Attrs & | attrs () const
int | corank () const
int | Rank () const
bool | IsCompatibleWith (parser::ContextualMessages &, const TypeAndShape &that, const char *thisIs="POINTER", const char *thatIs="TARGET", bool isElemental=false) const
llvm::raw_ostream & | Dump (llvm::raw_ostream &) const

## Static Public Member Functions
static std::optional< TypeAndShape > | Characterize (const semantics::Symbol &, FoldingContext &)
static std::optional< TypeAndShape > | Characterize (const semantics::ObjectEntityDetails &)
static std::optional< TypeAndShape > | Characterize (const semantics::AssocEntityDetails &, FoldingContext &)
static std::optional< TypeAndShape > | Characterize (const semantics::ProcEntityDetails &)
static std::optional< TypeAndShape > | Characterize (const semantics::ProcInterface &)
static std::optional< TypeAndShape > | Characterize (const semantics::DeclTypeSpec &)
template<typename A >
static std::optional< TypeAndShape > | Characterize (const A &x, FoldingContext &context)

## Protected Attributes
DynamicType | type_
std::optional< Expr< SomeInteger > > | LEN_
Shape | shape_
Attrs | attrs_
int | corank_ {0}

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

- include/flang/Evaluate/characteristics.h
- lib/Evaluate/characteristics.cpp