Lines Matching defs:Prec

176   enum class Prec {
202 Prec Precedence : 6;
218 Node(Kind K_, Prec Precedence_ = Prec::Primary,
225 : Node(K_, Prec::Primary, RHSComponentCache_, ArrayCache_,
257 Prec getPrecedence() const { return Precedence; }
272 void printAsOperand(OutputBuffer &OB, Prec P = Prec::Default,
339 Elements[Idx]->printAsOperand(OB, Node::Prec::Comma);
1863 const Node *RHS_, Prec Prec_)
1877 bool IsAssign = getPrecedence() == Prec::Assign;
1878 LHS->printAsOperand(OB, IsAssign ? Prec::OrIf : getPrecedence(), !IsAssign);
1895 ArraySubscriptExpr(const Node *Op1_, const Node *Op2_, Prec Prec_)
1915 PostfixExpr(const Node *Child_, std::string_view Operator_, Prec Prec_)
1935 Prec Prec_)
1947 Else->printAsOperand(OB, Prec::Assign, true);
1958 Prec Prec_)
2014 Prec Prec_ = Prec::Primary)
2038 Prec Prec_)
2083 CallExpr(const Node *Callee_, NodeArray Args_, bool IsParen_, Prec Prec_)
2112 bool IsArray_, Prec Prec_)
2147 DeleteExpr(Node *Op_, bool IsGlobal_, bool IsArray_, Prec Prec_)
2171 PrefixExpr(std::string_view Prefix_, Node *Child_, Prec Prec_)
2204 ConversionExpr(const Node *Type_, NodeArray Expressions_, Prec Prec_)
2228 std::string_view Offset_, Prec Prec_)
2343 Init->printAsOperand(OB, Prec::Cast, true);
2355 Init->printAsOperand(OB, Prec::Cast, true);
2892 Node *parsePrefixExpr(std::string_view Kind, Node::Prec Prec);
2893 Node *parseBinaryExpr(std::string_view Kind, Node::Prec Prec);
2901 Node *parsePointerToMemberConversionExpr(Node::Prec Prec);
2984 Node::Prec Prec : 7; // Precedence
2988 constexpr OperatorInfo(const char (&E)[3], OIKind K, bool F, Node::Prec P,
2990 : Enc{E[0], E[1]}, Kind{K}, Flag{F}, Prec{P}, Name{N} {}
3019 Node::Prec getPrecedence() const { return Prec; }
3353 {"aN", OperatorInfo::Binary, false, Node::Prec::Assign, "operator&="},
3354 {"aS", OperatorInfo::Binary, false, Node::Prec::Assign, "operator="},
3355 {"aa", OperatorInfo::Binary, false, Node::Prec::AndIf, "operator&&"},
3356 {"ad", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator&"},
3357 {"an", OperatorInfo::Binary, false, Node::Prec::And, "operator&"},
3358 {"at", OperatorInfo::OfIdOp, /*Type*/ true, Node::Prec::Unary, "alignof "},
3359 {"aw", OperatorInfo::NameOnly, false, Node::Prec::Primary,
3361 {"az", OperatorInfo::OfIdOp, /*Type*/ false, Node::Prec::Unary, "alignof "},
3362 {"cc", OperatorInfo::NamedCast, false, Node::Prec::Postfix, "const_cast"},
3363 {"cl", OperatorInfo::Call, /*Paren*/ false, Node::Prec::Postfix,
3365 {"cm", OperatorInfo::Binary, false, Node::Prec::Comma, "operator,"},
3366 {"co", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator~"},
3367 {"cp", OperatorInfo::Call, /*Paren*/ true, Node::Prec::Postfix,
3369 {"cv", OperatorInfo::CCast, false, Node::Prec::Cast, "operator"}, // C Cast
3370 {"dV", OperatorInfo::Binary, false, Node::Prec::Assign, "operator/="},
3371 {"da", OperatorInfo::Del, /*Ary*/ true, Node::Prec::Unary,
3373 {"dc", OperatorInfo::NamedCast, false, Node::Prec::Postfix, "dynamic_cast"},
3374 {"de", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator*"},
3375 {"dl", OperatorInfo::Del, /*Ary*/ false, Node::Prec::Unary,
3377 {"ds", OperatorInfo::Member, /*Named*/ false, Node::Prec::PtrMem,
3379 {"dt", OperatorInfo::Member, /*Named*/ false, Node::Prec::Postfix,
3381 {"dv", OperatorInfo::Binary, false, Node::Prec::Assign, "operator/"},
3382 {"eO", OperatorInfo::Binary, false, Node::Prec::Assign, "operator^="},
3383 {"eo", OperatorInfo::Binary, false, Node::Prec::Xor, "operator^"},
3384 {"eq", OperatorInfo::Binary, false, Node::Prec::Equality, "operator=="},
3385 {"ge", OperatorInfo::Binary, false, Node::Prec::Relational, "operator>="},
3386 {"gt", OperatorInfo::Binary, false, Node::Prec::Relational, "operator>"},
3387 {"ix", OperatorInfo::Array, false, Node::Prec::Postfix, "operator[]"},
3388 {"lS", OperatorInfo::Binary, false, Node::Prec::Assign, "operator<<="},
3389 {"le", OperatorInfo::Binary, false, Node::Prec::Relational, "operator<="},
3390 {"ls", OperatorInfo::Binary, false, Node::Prec::Shift, "operator<<"},
3391 {"lt", OperatorInfo::Binary, false, Node::Prec::Relational, "operator<"},
3392 {"mI", OperatorInfo::Binary, false, Node::Prec::Assign, "operator-="},
3393 {"mL", OperatorInfo::Binary, false, Node::Prec::Assign, "operator*="},
3394 {"mi", OperatorInfo::Binary, false, Node::Prec::Additive, "operator-"},
3395 {"ml", OperatorInfo::Binary, false, Node::Prec::Multiplicative,
3397 {"mm", OperatorInfo::Postfix, false, Node::Prec::Postfix, "operator--"},
3398 {"na", OperatorInfo::New, /*Ary*/ true, Node::Prec::Unary,
3400 {"ne", OperatorInfo::Binary, false, Node::Prec::Equality, "operator!="},
3401 {"ng", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator-"},
3402 {"nt", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator!"},
3403 {"nw", OperatorInfo::New, /*Ary*/ false, Node::Prec::Unary, "operator new"},
3404 {"oR", OperatorInfo::Binary, false, Node::Prec::Assign, "operator|="},
3405 {"oo", OperatorInfo::Binary, false, Node::Prec::OrIf, "operator||"},
3406 {"or", OperatorInfo::Binary, false, Node::Prec::Ior, "operator|"},
3407 {"pL", OperatorInfo::Binary, false, Node::Prec::Assign, "operator+="},
3408 {"pl", OperatorInfo::Binary, false, Node::Prec::Additive, "operator+"},
3409 {"pm", OperatorInfo::Member, /*Named*/ false, Node::Prec::PtrMem,
3411 {"pp", OperatorInfo::Postfix, false, Node::Prec::Postfix, "operator++"},
3412 {"ps", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator+"},
3413 {"pt", OperatorInfo::Member, /*Named*/ true, Node::Prec::Postfix,
3415 {"qu", OperatorInfo::Conditional, false, Node::Prec::Conditional,
3417 {"rM", OperatorInfo::Binary, false, Node::Prec::Assign, "operator%="},
3418 {"rS", OperatorInfo::Binary, false, Node::Prec::Assign, "operator>>="},
3419 {"rc", OperatorInfo::NamedCast, false, Node::Prec::Postfix,
3421 {"rm", OperatorInfo::Binary, false, Node::Prec::Multiplicative,
3423 {"rs", OperatorInfo::Binary, false, Node::Prec::Shift, "operator>>"},
3424 {"sc", OperatorInfo::NamedCast, false, Node::Prec::Postfix, "static_cast"},
3425 {"ss", OperatorInfo::Binary, false, Node::Prec::Spaceship, "operator<=>"},
3426 {"st", OperatorInfo::OfIdOp, /*Type*/ true, Node::Prec::Unary, "sizeof "},
3427 {"sz", OperatorInfo::OfIdOp, /*Type*/ false, Node::Prec::Unary, "sizeof "},
3428 {"te", OperatorInfo::OfIdOp, /*Type*/ false, Node::Prec::Postfix,
3430 {"ti", OperatorInfo::OfIdOp, /*Type*/ true, Node::Prec::Postfix, "typeid "},
4666 Node::Prec Prec) {
4670 return make<PrefixExpr>(Kind, E, Prec);
4676 Node::Prec Prec) {
4683 return make<BinaryExpr>(LHS, Kind, RHS, Prec);
5000 Node::Prec Prec) {
5010 return make<PointerToMemberConversionExpr>(Ty, Expr, Offset, Prec);
5340 return parsePointerToMemberConversionExpr(Node::Prec::Unary);
5345 return make<EnclosingExpr>("noexcept ", Ex, Node::Prec::Unary);
5437 /*IsParen=*/false, Node::Prec::Postfix);