FLANG
Fortran::evaluate::ArgumentAnalyzer Class Reference

Public Member Functions

 ArgumentAnalyzer (ExpressionAnalyzer &context)
 ArgumentAnalyzer (ExpressionAnalyzer &context, parser::CharBlock source, bool isProcedureCall=false)
bool fatalErrors () const
ActualArguments && GetActuals ()
const Expr< SomeType > & GetExpr (std::size_t i) const
Expr< SomeType > && MoveExpr (std::size_t i)
void Analyze (const common::Indirection< parser::Expr > &x)
void Analyze (const parser::Expr &x)
void Analyze (const parser::Variable &)
void Analyze (const parser::ActualArgSpec &, bool isSubroutine)
void ConvertBOZOperand (std::optional< DynamicType > *thisType, std::size_t, std::optional< DynamicType > otherType)
void ConvertBOZAssignmentRHS (const DynamicType &lhsType)
bool IsIntrinsicRelational (RelationalOperator, const DynamicType &, const DynamicType &) const
bool IsIntrinsicLogical () const
bool IsIntrinsicNumeric (NumericOperator) const
bool IsIntrinsicConcat () const
bool CheckConformance ()
bool CheckAssignmentConformance ()
bool CheckForNullPointer (const char *where="as an operand here")
bool CheckForAssumedRank (const char *where="as an operand here")
bool AnyCUDADeviceData () const
bool HasDeviceDefinedIntrinsicOpOverride (const char *) const
template<typename E>
bool HasDeviceDefinedIntrinsicOpOverride (E opr) const
MaybeExpr TryDefinedOp (const char *, parser::MessageFixedText, bool isUserOp=false)
template<typename E>
MaybeExpr TryDefinedOp (E opr, parser::MessageFixedText msg)
std::optional< ProcedureRefTryDefinedAssignment ()
std::optional< ProcedureRefGetDefinedAssignmentProc (bool &isAmbiguous)
std::optional< DynamicTypeGetType (std::size_t) const
void Dump (llvm::raw_ostream &)

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