Lines Matching refs:OperatorInfo
2571 struct OperatorInfo { struct
2597 constexpr OperatorInfo(const char (&E)[3], OIKind K, bool F, Node::Prec P, in OperatorInfo() argument
2602 bool operator<(const OperatorInfo &Other) const {
2629 static const OperatorInfo Ops[];
2631 const OperatorInfo *parseOperatorEncoding();
2931 Derived, Alloc>::OperatorInfo AbstractManglingParser<Derived,
2934 {"aN", OperatorInfo::Binary, false, Node::Prec::Assign, "operator&="},
2935 {"aS", OperatorInfo::Binary, false, Node::Prec::Assign, "operator="},
2936 {"aa", OperatorInfo::Binary, false, Node::Prec::AndIf, "operator&&"},
2937 {"ad", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator&"},
2938 {"an", OperatorInfo::Binary, false, Node::Prec::And, "operator&"},
2939 {"at", OperatorInfo::OfIdOp, /*Type*/ true, Node::Prec::Unary, "alignof "},
2940 {"aw", OperatorInfo::NameOnly, false, Node::Prec::Primary,
2942 {"az", OperatorInfo::OfIdOp, /*Type*/ false, Node::Prec::Unary, "alignof "},
2943 {"cc", OperatorInfo::NamedCast, false, Node::Prec::Postfix, "const_cast"},
2944 {"cl", OperatorInfo::Call, false, Node::Prec::Postfix, "operator()"},
2945 {"cm", OperatorInfo::Binary, false, Node::Prec::Comma, "operator,"},
2946 {"co", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator~"},
2947 {"cv", OperatorInfo::CCast, false, Node::Prec::Cast, "operator"}, // C Cast
2948 {"dV", OperatorInfo::Binary, false, Node::Prec::Assign, "operator/="},
2949 {"da", OperatorInfo::Del, /*Ary*/ true, Node::Prec::Unary,
2951 {"dc", OperatorInfo::NamedCast, false, Node::Prec::Postfix, "dynamic_cast"},
2952 {"de", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator*"},
2953 {"dl", OperatorInfo::Del, /*Ary*/ false, Node::Prec::Unary,
2955 {"ds", OperatorInfo::Member, /*Named*/ false, Node::Prec::PtrMem,
2957 {"dt", OperatorInfo::Member, /*Named*/ false, Node::Prec::Postfix,
2959 {"dv", OperatorInfo::Binary, false, Node::Prec::Assign, "operator/"},
2960 {"eO", OperatorInfo::Binary, false, Node::Prec::Assign, "operator^="},
2961 {"eo", OperatorInfo::Binary, false, Node::Prec::Xor, "operator^"},
2962 {"eq", OperatorInfo::Binary, false, Node::Prec::Equality, "operator=="},
2963 {"ge", OperatorInfo::Binary, false, Node::Prec::Relational, "operator>="},
2964 {"gt", OperatorInfo::Binary, false, Node::Prec::Relational, "operator>"},
2965 {"ix", OperatorInfo::Array, false, Node::Prec::Postfix, "operator[]"},
2966 {"lS", OperatorInfo::Binary, false, Node::Prec::Assign, "operator<<="},
2967 {"le", OperatorInfo::Binary, false, Node::Prec::Relational, "operator<="},
2968 {"ls", OperatorInfo::Binary, false, Node::Prec::Shift, "operator<<"},
2969 {"lt", OperatorInfo::Binary, false, Node::Prec::Relational, "operator<"},
2970 {"mI", OperatorInfo::Binary, false, Node::Prec::Assign, "operator-="},
2971 {"mL", OperatorInfo::Binary, false, Node::Prec::Assign, "operator*="},
2972 {"mi", OperatorInfo::Binary, false, Node::Prec::Additive, "operator-"},
2973 {"ml", OperatorInfo::Binary, false, Node::Prec::Multiplicative,
2975 {"mm", OperatorInfo::Postfix, false, Node::Prec::Postfix, "operator--"},
2976 {"na", OperatorInfo::New, /*Ary*/ true, Node::Prec::Unary,
2978 {"ne", OperatorInfo::Binary, false, Node::Prec::Equality, "operator!="},
2979 {"ng", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator-"},
2980 {"nt", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator!"},
2981 {"nw", OperatorInfo::New, /*Ary*/ false, Node::Prec::Unary, "operator new"},
2982 {"oR", OperatorInfo::Binary, false, Node::Prec::Assign, "operator|="},
2983 {"oo", OperatorInfo::Binary, false, Node::Prec::OrIf, "operator||"},
2984 {"or", OperatorInfo::Binary, false, Node::Prec::Ior, "operator|"},
2985 {"pL", OperatorInfo::Binary, false, Node::Prec::Assign, "operator+="},
2986 {"pl", OperatorInfo::Binary, false, Node::Prec::Additive, "operator+"},
2987 {"pm", OperatorInfo::Member, /*Named*/ false, Node::Prec::PtrMem,
2989 {"pp", OperatorInfo::Postfix, false, Node::Prec::Postfix, "operator++"},
2990 {"ps", OperatorInfo::Prefix, false, Node::Prec::Unary, "operator+"},
2991 {"pt", OperatorInfo::Member, /*Named*/ true, Node::Prec::Postfix,
2993 {"qu", OperatorInfo::Conditional, false, Node::Prec::Conditional,
2995 {"rM", OperatorInfo::Binary, false, Node::Prec::Assign, "operator%="},
2996 {"rS", OperatorInfo::Binary, false, Node::Prec::Assign, "operator>>="},
2997 {"rc", OperatorInfo::NamedCast, false, Node::Prec::Postfix,
2999 {"rm", OperatorInfo::Binary, false, Node::Prec::Multiplicative,
3001 {"rs", OperatorInfo::Binary, false, Node::Prec::Shift, "operator>>"},
3002 {"sc", OperatorInfo::NamedCast, false, Node::Prec::Postfix, "static_cast"},
3003 {"ss", OperatorInfo::Binary, false, Node::Prec::Spaceship, "operator<=>"},
3004 {"st", OperatorInfo::OfIdOp, /*Type*/ true, Node::Prec::Unary, "sizeof "},
3005 {"sz", OperatorInfo::OfIdOp, /*Type*/ false, Node::Prec::Unary, "sizeof "},
3006 {"te", OperatorInfo::OfIdOp, /*Type*/ false, Node::Prec::Postfix,
3008 {"ti", OperatorInfo::OfIdOp, /*Type*/ true, Node::Prec::Postfix, "typeid "},
3017 const typename AbstractManglingParser<Derived, Alloc>::OperatorInfo *
3024 [](const OperatorInfo &Op_, const char *Enc_) { return Op_ < Enc_; }); in parseOperatorEncoding()
3039 if (Op->getKind() == OperatorInfo::CCast) { in parseOperatorName()
3055 if (Op->getKind() >= OperatorInfo::Unnameable) in parseOperatorName()
3058 if (Op->getKind() == OperatorInfo::Member && !Op->getFlag()) in parseOperatorName()
4412 if (!(Op->getKind() == OperatorInfo::Binary in parseFoldExpr()
4413 || (Op->getKind() == OperatorInfo::Member in parseFoldExpr()
4532 case OperatorInfo::Binary: in parseExpr()
4535 case OperatorInfo::Prefix: in parseExpr()
4538 case OperatorInfo::Postfix: { in parseExpr()
4547 case OperatorInfo::Array: { in parseExpr()
4557 case OperatorInfo::Member: { in parseExpr()
4567 case OperatorInfo::New: { in parseExpr()
4598 case OperatorInfo::Del: { in parseExpr()
4606 case OperatorInfo::Call: { in parseExpr()
4621 case OperatorInfo::CCast: { in parseExpr()
4646 case OperatorInfo::Conditional: { in parseExpr()
4659 case OperatorInfo::NamedCast: { in parseExpr()
4669 case OperatorInfo::OfIdOp: { in parseExpr()
4677 case OperatorInfo::NameOnly: { in parseExpr()