Lines Matching defs:opr

171   MaybeExpr TryDefinedOp(E opr, parser::MessageFixedText msg) {
173 context_.context().languageFeatures().GetNames(opr), msg);
3476 NumericOperator opr, const parser::Expr::IntrinsicUnary &x) {
3480 if (analyzer.IsIntrinsicNumeric(opr)) {
3483 if (opr == NumericOperator::Add) {
3489 return analyzer.TryDefinedOp(AsFortran(opr),
3557 template <template <typename> class OPR, NumericOperator opr>
3564 if (analyzer.IsIntrinsicNumeric(opr)) {
3568 constexpr bool canBeUnsigned{opr != NumericOperator::Power};
3573 return analyzer.TryDefinedOp(AsFortran(opr),
3650 MaybeExpr RelationHelper(ExpressionAnalyzer &context, RelationalOperator opr,
3661 analyzer.IsIntrinsicRelational(opr, *leftType, *rightType)) {
3664 if (auto cmp{Relate(context.GetContextualMessages(), opr,
3671 return analyzer.TryDefinedOp(opr,
3705 MaybeExpr LogicalBinaryHelper(ExpressionAnalyzer &context, LogicalOperator opr,
3714 return AsGenericExpr(BinaryLogicalOperation(opr,
3719 opr, "Operands of %s must be LOGICAL; have %s and %s"_err_en_US);
4311 bool ArgumentAnalyzer::IsIntrinsicRelational(RelationalOperator opr,
4315 opr, leftType, GetRank(0), rightType, GetRank(1));
4318 bool ArgumentAnalyzer::IsIntrinsicNumeric(NumericOperator opr) const {
4322 return opr == NumericOperator::Add; // unary '+'
4328 if (IsBOZLiteral(0) && rightType) { // BOZ opr Integer/Unsigned/Real
4332 } else if (IsBOZLiteral(1) && leftType) { // Integer/Unsigned/Real opr BOZ
4439 const char *opr, parser::MessageFixedText error, bool isUserOp) {
4441 context_.Say(error, ToUpperCase(opr), TypeAsFortran(0), TypeAsFortran(1));
4449 isUserOp ? std::string{opr} : "operator("s + opr + ')'};
4495 hit.size(), ToUpperCase(opr))}) {
4511 ToUpperCase(opr), actuals_[0]->Rank(), actuals_[1]->Rank());
4513 context_.Say(error, ToUpperCase(opr), TypeAsFortran(0), TypeAsFortran(1));
4855 // Report error resolving opr when there is a user-defined one available
4856 void ArgumentAnalyzer::SayNoMatch(const std::string &opr, bool isAssignment) {
4863 opr, rank0, type0);
4867 opr, type0);
4875 opr, rank0, type0, rank1, type1);
4880 opr, type0, rank1, type1);
4884 opr, rank0, type0, type1);
4889 opr, type0, type1);