|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/clang/include/clang/AST/Expr.h 3629 class CompoundAssignOperator : public BinaryOperator {
Declarations
gen/tools/clang/include/clang/AST/StmtNodes.inc 635 BINARYOPERATOR(BinaryOperator, Expr)
tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h 44 class BinaryOperator;
tools/clang/include/clang/Analysis/CFG.h 40 class BinaryOperator;
tools/clang/include/clang/Analysis/PathDiagnostic.h 41 class BinaryOperator;
tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h 28 class BinaryOperator;
tools/lldb/include/lldb/Core/ClangForward.h 26 class BinaryOperator;
References
include/llvm/ADT/STLExtras.h 75 typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h 57 static inline bool doit(const From &Val) {
58 return To::classof(&Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
309 return cast<X>(Val);
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
tools/clang/include/clang/AST/ASTTypeTraits.h 65 return ASTNodeKind(KindToKindId<T>::Id);
234 static DynTypedNode create(const T &Node) {
235 return BaseConverter<T>::create(Node);
251 const T *get() const {
252 return BaseConverter<T>::get(NodeKind, Storage.buffer);
259 const T &getUnchecked() const {
260 return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
394 static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
395 if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
399 static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
401 return *cast<T>(static_cast<const BaseT *>(
474 : public DynCastPtrConverter<T, Stmt> {};
tools/clang/include/clang/AST/Expr.h 3629 class CompoundAssignOperator : public BinaryOperator {
tools/clang/include/clang/AST/JSONNodeDumper.h 261 void VisitBinaryOperator(const BinaryOperator *BO);
tools/clang/include/clang/AST/RecursiveASTVisitor.h 552 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(S)) {
552 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(S)) {
tools/clang/include/clang/AST/StmtVisitor.h 46 if (PTR(BinaryOperator) BinOp = dyn_cast<BinaryOperator>(S)) {
tools/clang/include/clang/AST/TextNodeDumper.h 248 void VisitBinaryOperator(const BinaryOperator *Node);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
2194 extern const internal::VariadicDynCastAllOfMatcher<Stmt, BinaryOperator>
4585 inline internal::Matcher<BinaryOperator> hasEitherOperand(
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 160 const T *getNodeAs(StringRef ID) const {
165 return It->second.get<T>();
302 virtual bool matches(const T &Node,
309 return matches(DynNode.getUnchecked<T>(), Finder, Builder);
345 DynTypedMatcher(MatcherInterface<T> *Implementation)
346 : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<T>();
479 class WrapperMatcherInterface : public MatcherInterface<T> {
499 explicit Matcher(MatcherInterface<T> *Implementation)
507 typename std::enable_if<std::is_base_of<From, T>::value &&
508 !std::is_same<From, T>::value>::type * = nullptr)
520 std::is_same<T, QualType>::value &&
529 static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
534 bool matches(const T &Node,
581 return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
994 bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
997 static_assert(std::is_base_of<Decl, T>::value ||
998 std::is_base_of<Stmt, T>::value ||
999 std::is_base_of<NestedNameSpecifier, T>::value ||
1000 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1001 std::is_base_of<TypeLoc, T>::value ||
1002 std::is_base_of<QualType, T>::value,
1009 bool matchesDescendantOf(const T &Node,
1013 static_assert(std::is_base_of<Decl, T>::value ||
1014 std::is_base_of<Stmt, T>::value ||
1015 std::is_base_of<NestedNameSpecifier, T>::value ||
1016 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1017 std::is_base_of<TypeLoc, T>::value ||
1018 std::is_base_of<QualType, T>::value,
1026 bool matchesAncestorOf(const T &Node,
1030 static_assert(std::is_base_of<Decl, T>::value ||
1031 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1032 std::is_base_of<Stmt, T>::value ||
1033 std::is_base_of<TypeLoc, T>::value,
1067 using head = T1;
1084 std::is_base_of<typename AnyTypeList::head, T>::value ||
1085 TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
1146 template <typename To> operator Matcher<To>() const {
1184 operator Matcher<T>() const {
1185 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1202 operator Matcher<T>() const {
1203 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1243 operator Matcher<T>() const {
1245 ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
1246 .template unconditionalConvertTo<T>();
1255 class BindableMatcher : public Matcher<T> {
1257 explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
1258 explicit BindableMatcher(MatcherInterface<T> *Implementation)
1265 Matcher<T> bind(StringRef ID) const {
1285 class HasMatcher : public WrapperMatcherInterface<T> {
1290 bool matches(const T &Node, ASTMatchFinder *Finder,
1335 template <typename T> operator Matcher<T>() const {
1337 Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1338 getMatchers<T>(std::index_sequence_for<Ps...>()))
1339 .template unconditionalConvertTo<T>();
1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
1376 BindableMatcher<T> makeAllOfComposite(
1377 ArrayRef<const Matcher<T> *> InnerMatchers) {
1388 using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
1395 ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1397 .template unconditionalConvertTo<T>());
1408 ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
1426 bool matches(const T &Node, ASTMatchFinder *Finder,
1458 class HasAncestorMatcher : public WrapperMatcherInterface<T> {
1466 bool matches(const T &Node, ASTMatchFinder *Finder,
1557 : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
1558 makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h 199 ast_matchers::internal::Matcher<T> getTypedMatcher() const {
202 ->template convertTo<T>();
227 : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
228 typedef ast_matchers::internal::Matcher<T> MatcherT;
232 return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h 410 const BinaryOperator *BO,
413 const BinaryOperator *BO,
415 til::SExpr *translateBinaryOperator(const BinaryOperator *BO,
tools/clang/include/clang/Analysis/CFG.h 1213 virtual void compareAlwaysTrue(const BinaryOperator *B, bool isAlwaysTrue) {}
1214 virtual void compareBitwiseEquality(const BinaryOperator *B,
1216 virtual void compareBitwiseOr(const BinaryOperator *B) {}
tools/clang/include/clang/Analysis/PathDiagnostic.h 243 static PathDiagnosticLocation createOperatorLoc(const BinaryOperator *BO,
tools/clang/include/clang/Analysis/ProgramPoint.h 282 const T* getStmtAs() const { return dyn_cast<T>(getStmt()); }
282 const T* getStmtAs() const { return dyn_cast<T>(getStmt()); }
tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h 122 << std::string(BinaryOperator::getOpcodeStr(S->getOpcode())) << " "
132 std::string(BinaryOperator::getOpcodeStr(S->getOpcode())) +
tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h 255 VisitTrueTest(const Expr *Cond, const BinaryOperator *BExpr,
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h 85 ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C);
89 return isa<STMT>(S);
104 ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C);
108 return isa<STMT>(S);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h 253 const llvm::APSInt* evalAPSInt(BinaryOperator::Opcode Op,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h 437 void VisitBinaryOperator(const BinaryOperator* B, ExplodedNode *Pred,
469 void VisitLogicalExpr(const BinaryOperator* B, ExplodedNode *Pred,
584 SVal evalBinOp(ProgramStateRef state, BinaryOperator::Opcode op,
589 SVal evalBinOp(ProgramStateRef state, BinaryOperator::Opcode op,
595 SVal evalBinOp(ProgramStateRef ST, BinaryOperator::Opcode Op,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h 163 BinaryOperator::Opcode op,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h 75 fromNBinOp(llvm::SMTSolverRef &Solver, const BinaryOperator::Opcode Op,
92 const BinaryOperator::Opcode Op,
170 const BinaryOperator::Opcode Op,
203 const BinaryOperator::Opcode Op,
343 BinaryOperator::Opcode Op, const llvm::SMTExprRef &RHS,
354 if (BinaryOperator::isComparisonOp(Op) ||
355 BinaryOperator::isLogicalOp(Op)) {
382 BinaryOperator::Opcode Op = BSE->getOpcode();
450 *hasComparison = BinaryOperator::isComparisonOp(BSE->getOpcode());
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 117 virtual SVal evalBinOpNN(ProgramStateRef state, BinaryOperator::Opcode op,
122 virtual SVal evalBinOpLL(ProgramStateRef state, BinaryOperator::Opcode op,
128 virtual SVal evalBinOpLN(ProgramStateRef state, BinaryOperator::Opcode op,
141 SVal makeSymExprValNN(BinaryOperator::Opcode op,
144 SVal evalBinOp(ProgramStateRef state, BinaryOperator::Opcode op,
322 NonLoc makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
325 NonLoc makeNonLoc(const llvm::APSInt& rhs, BinaryOperator::Opcode op,
328 NonLoc makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 388 SVal evalBinOp(SValBuilder &svalBuilder, BinaryOperator::Opcode Op,
649 SVal evalBinOp(BasicValueFactory& BasicVals, BinaryOperator::Opcode Op,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h 304 BinaryOperator::Opcode Op;
308 BinarySymExpr(Kind k, BinaryOperator::Opcode op, QualType t)
322 BinaryOperator::Opcode getOpcode() const { return Op; }
337 SymIntExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
355 BinaryOperator::Opcode op, const llvm::APSInt& rhs,
380 IntSymExpr(const llvm::APSInt &lhs, BinaryOperator::Opcode op,
398 BinaryOperator::Opcode op, const SymExpr *rhs,
423 SymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op, const SymExpr *rhs,
442 BinaryOperator::Opcode op, const SymExpr *rhs, QualType t) {
517 const SymIntExpr *getSymIntExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
520 const SymIntExpr *getSymIntExpr(const SymExpr &lhs, BinaryOperator::Opcode op,
526 BinaryOperator::Opcode op,
529 const SymSymExpr *getSymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
tools/clang/lib/ARCMigrate/ObjCMT.cpp 814 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(InitExpr))
814 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(InitExpr))
tools/clang/lib/ARCMigrate/TransARCAssign.cpp 41 bool VisitBinaryOperator(BinaryOperator *Exp) {
tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp 187 } else if (BinaryOperator *bop = dyn_cast<BinaryOperator>(child)) {
187 } else if (BinaryOperator *bop = dyn_cast<BinaryOperator>(child)) {
tools/clang/lib/ARCMigrate/TransProperties.cpp 290 bool VisitBinAssign(BinaryOperator *E) {
tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp 225 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(S)) {
225 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(S)) {
440 if (BinaryOperator *
441 bopE = dyn_cast_or_null<BinaryOperator>(parent)) {
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp 90 bool VisitBinaryOperator(BinaryOperator *BOE) {
153 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E))
153 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E))
160 bool isZeroingPropIvar(BinaryOperator *BOE) {
193 BinaryOperator *BO = dyn_cast<BinaryOperator>(PO->getSyntacticForm());
193 BinaryOperator *BO = dyn_cast<BinaryOperator>(PO->getSyntacticForm());
tools/clang/lib/ARCMigrate/Transforms.cpp 66 bool trans::isPlusOneAssign(const BinaryOperator *E) {
tools/clang/lib/ARCMigrate/Transforms.h 162 bool isPlusOneAssign(const BinaryOperator *E);
tools/clang/lib/AST/ASTImporter.cpp 567 ExpectedStmt VisitBinaryOperator(BinaryOperator *E);
6570 ExpectedStmt ASTNodeImporter::VisitBinaryOperator(BinaryOperator *E) {
6581 return new (Importer.getToContext()) BinaryOperator(
tools/clang/lib/AST/DeclCXX.cpp 2129 if (auto *BO = dyn_cast<BinaryOperator>(Base)) {
tools/clang/lib/AST/Expr.cpp 43 if (auto *BO = dyn_cast<BinaryOperator>(E)) {
109 } else if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
109 } else if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
158 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
158 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
1449 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(CEE)) {
1449 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(CEE)) {
2447 const BinaryOperator *BO = cast<BinaryOperator>(this);
2447 const BinaryOperator *BO = cast<BinaryOperator>(this);
2633 isa<BinaryOperator>(PO->getSyntacticForm()))
2795 if (const BinaryOperator *op = dyn_cast<BinaryOperator>(expr)) {
2795 if (const BinaryOperator *op = dyn_cast<BinaryOperator>(expr)) {
3069 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E))
3069 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E))
3492 if (cast<BinaryOperator>(this)->isAssignmentOp())
3810 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
3810 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
3873 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(E)) {
3873 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(E)) {
tools/clang/lib/AST/ExprCXX.cpp 75 if (auto *BO = dyn_cast<BinaryOperator>(E)) {
111 if (auto *BO = dyn_cast<BinaryOperator>(E)) {
722 if (const auto *BO = dyn_cast<BinaryOperator>(Callee))
722 if (const auto *BO = dyn_cast<BinaryOperator>(Callee))
tools/clang/lib/AST/ExprClassification.cpp 30 static Cl::Kinds ClassifyBinaryOp(ASTContext &Ctx, const BinaryOperator *E);
300 return ClassifyBinaryOp(Ctx, cast<BinaryOperator>(E));
538 static Cl::Kinds ClassifyBinaryOp(ASTContext &Ctx, const BinaryOperator *E) {
tools/clang/lib/AST/ExprConstant.cpp 4178 const BinaryOperator *BO,
6753 bool VisitBinaryOperator(const BinaryOperator *E) {
6863 } else if (const BinaryOperator *BE = dyn_cast<BinaryOperator>(Callee)) {
6863 } else if (const BinaryOperator *BE = dyn_cast<BinaryOperator>(Callee)) {
7252 bool VisitBinaryOperator(const BinaryOperator *E) {
7342 bool VisitBinAssign(const BinaryOperator *BO);
7667 bool LValueExprEvaluator::VisitBinAssign(const BinaryOperator *E) {
7828 bool VisitBinaryOperator(const BinaryOperator *E);
7905 bool PointerExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
8781 bool VisitBinCmp(const BinaryOperator *E);
9734 bool VisitBinaryOperator(const BinaryOperator *E);
9826 bool VisitBinaryOperator(const BinaryOperator *E);
11148 static bool shouldEnqueue(const BinaryOperator *E) {
11155 bool Traverse(const BinaryOperator *E) {
11186 bool VisitBinOpLHSOnly(EvalResult &LHSResult, const BinaryOperator *E,
11190 const BinaryOperator *E, APValue &Result);
11211 VisitBinOpLHSOnly(EvalResult &LHSResult, const BinaryOperator *E,
11270 const BinaryOperator *E, APValue &Result) {
11367 if (const BinaryOperator *Bop = dyn_cast<BinaryOperator>(job.E)) {
11367 if (const BinaryOperator *Bop = dyn_cast<BinaryOperator>(job.E)) {
11381 const BinaryOperator *Bop = cast<BinaryOperator>(job.E);
11381 const BinaryOperator *Bop = cast<BinaryOperator>(job.E);
11396 const BinaryOperator *Bop = cast<BinaryOperator>(job.E);
11396 const BinaryOperator *Bop = cast<BinaryOperator>(job.E);
11431 EvaluateComparisonBinaryOperator(EvalInfo &Info, const BinaryOperator *E,
11742 bool RecordExprEvaluator::VisitBinCmp(const BinaryOperator *E) {
11766 bool IntExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
12338 bool FixedPointExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
12392 bool VisitBinaryOperator(const BinaryOperator *E);
12554 bool FloatExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
12628 bool VisitBinaryOperator(const BinaryOperator *E);
12823 bool ComplexExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
14034 const BinaryOperator *Exp = cast<BinaryOperator>(E);
14034 const BinaryOperator *Exp = cast<BinaryOperator>(E);
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp 146 bool ByteCodeExprGen<Emitter>::VisitBinaryOperator(const BinaryOperator *BO) {
tools/clang/lib/AST/Interp/ByteCodeExprGen.h 72 bool VisitBinaryOperator(const BinaryOperator *E);
tools/clang/lib/AST/ItaniumMangle.cpp 4082 const BinaryOperator *BO = cast<BinaryOperator>(E);
4082 const BinaryOperator *BO = cast<BinaryOperator>(E);
4086 mangleOperatorName(BinaryOperator::getOverloadedOperator(BO->getOpcode()),
4097 mangleOperatorName(BinaryOperator::getOverloadedOperator(Decomposed.Opcode),
4356 BinaryOperator::getOverloadedOperator(FE->getOperator()),
tools/clang/lib/AST/JSONNodeDumper.cpp 1156 void JSONNodeDumper::VisitBinaryOperator(const BinaryOperator *BO) {
1157 JOS.attribute("opcode", BinaryOperator::getOpcodeStr(BO->getOpcode()));
tools/clang/lib/AST/ParentMap.cpp 191 BinaryOperator *BE = cast<BinaryOperator>(P);
191 BinaryOperator *BE = cast<BinaryOperator>(P);
tools/clang/lib/AST/StmtPrinter.cpp 1415 void StmtPrinter::VisitBinaryOperator(BinaryOperator *Node) {
1417 OS << " " << BinaryOperator::getOpcodeStr(Node->getOpcode()) << " ";
1423 OS << " " << BinaryOperator::getOpcodeStr(Node->getOpcode()) << " ";
1705 OS << ' ' << BinaryOperator::getOpcodeStr(Decomposed.Opcode) << ' ';
2239 OS << " " << BinaryOperator::getOpcodeStr(E->getOperator()) << " ";
2243 OS << " " << BinaryOperator::getOpcodeStr(E->getOperator()) << " ";
tools/clang/lib/AST/StmtProfile.cpp 1181 void StmtProfiler::VisitBinaryOperator(const BinaryOperator *S) {
tools/clang/lib/AST/TextNodeDumper.cpp 846 void TextNodeDumper::VisitBinaryOperator(const BinaryOperator *Node) {
847 OS << " '" << BinaryOperator::getOpcodeStr(Node->getOpcode()) << "'";
852 OS << " '" << BinaryOperator::getOpcodeStr(Node->getOpcode())
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 734 const internal::VariadicDynCastAllOfMatcher<Stmt, BinaryOperator>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h 75 return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
78 static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
79 return Value.getMatcher().getTypedMatcher<T>();
83 return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
361 RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
466 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
469 DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
778 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/BodyFarm.cpp 54 BinaryOperator *makeAssignment(const Expr *LHS, const Expr *RHS, QualType Ty);
57 BinaryOperator *makeComparison(const Expr *LHS, const Expr *RHS,
58 BinaryOperator::Opcode Op);
115 BinaryOperator *ASTMaker::makeAssignment(const Expr *LHS, const Expr *RHS,
117 return new (C) BinaryOperator(const_cast<Expr*>(LHS), const_cast<Expr*>(RHS),
122 BinaryOperator *ASTMaker::makeComparison(const Expr *LHS, const Expr *RHS,
123 BinaryOperator::Opcode Op) {
126 return new (C) BinaryOperator(const_cast<Expr*>(LHS),
461 BinaryOperator *FlagAssignment = M.makeAssignment(
525 BinaryOperator *B =
tools/clang/lib/Analysis/CFG.cpp 114 tryNormalizeBinaryOperator(const BinaryOperator *B) {
546 CFGBlock *VisitBinaryOperator(BinaryOperator *B, AddStmtChoice asc);
584 CFGBlock *VisitLogicalOperator(BinaryOperator *B);
585 std::pair<CFGBlock *, CFGBlock *> VisitLogicalOperator(BinaryOperator *B,
688 CFGBlock *VisitBinaryOperatorForTemporaryDtors(BinaryOperator *E,
921 TryResult checkIncorrectRelationalOperator(const BinaryOperator *B) {
960 TryResult checkIncorrectEqualityOperator(const BinaryOperator *B) {
975 const BinaryOperator *BitOp = dyn_cast<BinaryOperator>(BoolExpr);
975 const BinaryOperator *BitOp = dyn_cast<BinaryOperator>(BoolExpr);
1035 TryResult checkIncorrectLogicOperator(const BinaryOperator *B) {
1037 const BinaryOperator *LHS =
1038 dyn_cast<BinaryOperator>(B->getLHS()->IgnoreParens());
1039 const BinaryOperator *RHS =
1040 dyn_cast<BinaryOperator>(B->getRHS()->IgnoreParens());
1143 TryResult checkIncorrectBitwiseOrOperator(const BinaryOperator *B) {
1183 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(S)) {
1183 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(S)) {
1229 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(E)) {
1229 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(E)) {
2145 return VisitBinaryOperator(cast<BinaryOperator>(S), asc);
2378 CFGBlock *CFGBuilder::VisitLogicalOperator(BinaryOperator *B) {
2390 CFGBuilder::VisitLogicalOperator(BinaryOperator *B,
2401 if (BinaryOperator *B_RHS = dyn_cast<BinaryOperator>(RHS))
2401 if (BinaryOperator *B_RHS = dyn_cast<BinaryOperator>(RHS))
2442 if (BinaryOperator *B_LHS = dyn_cast<BinaryOperator>(LHS))
2442 if (BinaryOperator *B_LHS = dyn_cast<BinaryOperator>(LHS))
2482 CFGBlock *CFGBuilder::VisitBinaryOperator(BinaryOperator *B,
2747 if (BinaryOperator *Cond =
2748 dyn_cast<BinaryOperator>(C->getCond()->IgnoreParens()))
2992 BinaryOperator *Cond =
2995 : dyn_cast<BinaryOperator>(I->getCond()->IgnoreParens());
3385 if (BinaryOperator *Cond =
3386 dyn_cast_or_null<BinaryOperator>(C ? C->IgnoreParens() : nullptr))
3720 if (BinaryOperator *Cond = dyn_cast<BinaryOperator>(C->IgnoreParens()))
3720 if (BinaryOperator *Cond = dyn_cast<BinaryOperator>(C->IgnoreParens()))
4613 return VisitBinaryOperatorForTemporaryDtors(cast<BinaryOperator>(E),
4719 BinaryOperator *E, bool ExternallyDestructed, TempDtorContext &Context) {
5254 void VisitBinaryOperator(BinaryOperator* B) {
5429 if (const BinaryOperator* B = dyn_cast<BinaryOperator>(S)) {
5429 if (const BinaryOperator* B = dyn_cast<BinaryOperator>(S)) {
5947 E = cast<BinaryOperator>(Terminator)->getLHS();
tools/clang/lib/Analysis/Consumed.cpp 304 const BinaryOperator *Source;
329 PropagationInfo(const BinaryOperator *Source, EffectiveOp EOp,
338 PropagationInfo(const BinaryOperator *Source, EffectiveOp EOp,
404 const BinaryOperator * testSourceNode() const {
500 void VisitBinaryOperator(const BinaryOperator *BinOp);
701 void ConsumedStmtVisitor::VisitBinaryOperator(const BinaryOperator *BinOp) {
1239 if (!PInfo.isValid() && isa<BinaryOperator>(Cond))
1240 PInfo = Visitor.getInfo(cast<BinaryOperator>(Cond)->getRHS());
1254 } else if (const auto *BinOp =
1255 dyn_cast_or_null<BinaryOperator>(CurrBlock->getTerminator().getStmt())) {
1258 if ((BinOp = dyn_cast_or_null<BinaryOperator>(BinOp->getLHS()))) {
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp 30 while (const auto *BOComma =
31 dyn_cast_or_null<BinaryOperator>(Result->IgnoreParens())) {
tools/clang/lib/Analysis/LiveVariables.cpp 212 void VisitBinaryOperator(BinaryOperator *BO);
372 void TransferFunctions::VisitBinaryOperator(BinaryOperator *B) {
575 if (const auto *BO = dyn_cast<BinaryOperator>(stmt)) {
575 if (const auto *BO = dyn_cast<BinaryOperator>(stmt)) {
tools/clang/lib/Analysis/PathDiagnostic.cpp 588 PathDiagnosticLocation::createOperatorLoc(const BinaryOperator *BO,
tools/clang/lib/Analysis/ReachableCode.cpp 238 const BinaryOperator *B = cast<BinaryOperator>(S);
238 const BinaryOperator *B = cast<BinaryOperator>(S);
299 if (isa<BinaryOperator>(Term)) {
451 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(S))
451 if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(S))
555 const BinaryOperator *BO = cast<BinaryOperator>(S);
555 const BinaryOperator *BO = cast<BinaryOperator>(S);
tools/clang/lib/Analysis/ThreadSafety.cpp 601 void VisitBinaryOperator(const BinaryOperator *BO);
627 void VarMapBuilder::VisitBinaryOperator(const BinaryOperator *BO) {
1452 else if (const auto *BOP = dyn_cast<BinaryOperator>(Cond)) {
1452 else if (const auto *BOP = dyn_cast<BinaryOperator>(Cond)) {
1602 void VisitBinaryOperator(const BinaryOperator *BO);
1983 void BuildLockset::VisitBinaryOperator(const BinaryOperator *BO) {
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp 226 return translateBinaryOperator(cast<BinaryOperator>(S), Ctx);
480 const BinaryOperator *BO,
491 const BinaryOperator *BO,
516 til::SExpr *SExprBuilder::translateBinaryOperator(const BinaryOperator *BO,
tools/clang/lib/Analysis/UninitializedValues.cpp 350 void VisitBinaryOperator(BinaryOperator *BO);
412 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
412 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
440 void ClassifyRefs::VisitBinaryOperator(BinaryOperator *BO) {
534 void VisitBinaryOperator(BinaryOperator *bo);
780 void TransferFunctions::VisitBinaryOperator(BinaryOperator *BO) {
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGClass.cpp 1142 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(S)) {
1142 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(S)) {
tools/clang/lib/CodeGen/CGExpr.cpp 1256 return EmitBinaryOperatorLValue(cast<BinaryOperator>(E));
4607 LValue CodeGenFunction::EmitBinaryOperatorLValue(const BinaryOperator *E) {
4958 EmitPointerToDataMemberBinaryExpr(const BinaryOperator *E) {
tools/clang/lib/CodeGen/CGExprAgg.cpp 148 void VisitBinaryOperator(const BinaryOperator *BO);
149 void VisitPointerToDataMemberBinaryOperator(const BinaryOperator *BO);
150 void VisitBinAssign(const BinaryOperator *E);
151 void VisitBinComma(const BinaryOperator *E);
152 void VisitBinCmp(const BinaryOperator *E);
905 void AggExprEmitter::VisitBinComma(const BinaryOperator *E) {
922 const BinaryOperator *E, llvm::Value *LHS,
971 void AggExprEmitter::VisitBinCmp(const BinaryOperator *E) {
1059 void AggExprEmitter::VisitBinaryOperator(const BinaryOperator *E) {
1067 const BinaryOperator *E) {
1087 if (const BinaryOperator *op = dyn_cast<BinaryOperator>(E)) {
1087 if (const BinaryOperator *op = dyn_cast<BinaryOperator>(E)) {
1138 void AggExprEmitter::VisitBinAssign(const BinaryOperator *E) {
tools/clang/lib/CodeGen/CGExprCXX.cpp 183 if (isa<BinaryOperator>(callee))
416 const BinaryOperator *BO =
417 cast<BinaryOperator>(E->getCallee()->IgnoreParens());
2083 if (const auto *BO = dyn_cast<BinaryOperator>(E))
2083 if (const auto *BO = dyn_cast<BinaryOperator>(E))
tools/clang/lib/CodeGen/CGExprComplex.cpp 252 BinOpInfo EmitBinOps(const BinaryOperator *E);
269 ComplexPairTy VisitBinAdd(const BinaryOperator *E) {
272 ComplexPairTy VisitBinSub(const BinaryOperator *E) {
275 ComplexPairTy VisitBinMul(const BinaryOperator *E) {
278 ComplexPairTy VisitBinDiv(const BinaryOperator *E) {
305 LValue EmitBinAssignLValue(const BinaryOperator *E,
307 ComplexPairTy VisitBinAssign (const BinaryOperator *E);
308 ComplexPairTy VisitBinComma (const BinaryOperator *E);
867 ComplexExprEmitter::EmitBinOps(const BinaryOperator *E) {
972 LValue ComplexExprEmitter::EmitBinAssignLValue(const BinaryOperator *E,
992 ComplexPairTy ComplexExprEmitter::VisitBinAssign(const BinaryOperator *E) {
1007 ComplexPairTy ComplexExprEmitter::VisitBinComma(const BinaryOperator *E) {
1136 LValue CodeGenFunction::EmitComplexAssignmentLValue(const BinaryOperator *E) {
tools/clang/lib/CodeGen/CGExprScalar.cpp 56 BinaryOperator::Opcode Opcode, bool Signed,
90 BinaryOperator::Opcode Opcode; // Opcode of BinOp to perform
136 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
136 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
188 const auto *BO = cast<BinaryOperator>(Op.E);
188 const auto *BO = cast<BinaryOperator>(Op.E);
767 BinOpInfo EmitBinOps(const BinaryOperator *E);
796 Value *EmitCompare(const BinaryOperator *E, llvm::CmpInst::Predicate UICmpOpc,
811 Value *VisitBinAssign (const BinaryOperator *E);
813 Value *VisitBinLAnd (const BinaryOperator *E);
814 Value *VisitBinLOr (const BinaryOperator *E);
815 Value *VisitBinComma (const BinaryOperator *E);
1540 if (BinaryOperator::isCompoundAssignmentOp(Opcode))
1541 Opcode = BinaryOperator::getOpForCompoundAssignment(Opcode);
1550 if (BinaryOperator::isShiftOp(Opcode)) {
1553 const BinaryOperator *BO = cast<BinaryOperator>(Info.E);
1553 const BinaryOperator *BO = cast<BinaryOperator>(Info.E);
2812 BinOpInfo ScalarExprEmitter::EmitBinOps(const BinaryOperator *E) {
2971 const auto *BO = cast<BinaryOperator>(Ops.E);
2971 const auto *BO = cast<BinaryOperator>(Ops.E);
3162 const BinaryOperator *expr = cast<BinaryOperator>(op.E);
3162 const BinaryOperator *expr = cast<BinaryOperator>(op.E);
3198 if (BinaryOperator::isNullPointerArithmeticExtension(CGF.getContext(),
3386 const auto *BinOp = cast<BinaryOperator>(op.E);
3386 const auto *BinOp = cast<BinaryOperator>(op.E);
3539 const BinaryOperator *expr = cast<BinaryOperator>(op.E);
3539 const BinaryOperator *expr = cast<BinaryOperator>(op.E);
3725 Value *ScalarExprEmitter::EmitCompare(const BinaryOperator *E,
3903 Value *ScalarExprEmitter::VisitBinAssign(const BinaryOperator *E) {
3962 Value *ScalarExprEmitter::VisitBinLAnd(const BinaryOperator *E) {
4046 Value *ScalarExprEmitter::VisitBinLOr(const BinaryOperator *E) {
4124 Value *ScalarExprEmitter::VisitBinComma(const BinaryOperator *E) {
tools/clang/lib/CodeGen/CGObjC.cpp 1479 BinaryOperator assign(&ivarRef, finalArg, BO_Assign,
2746 isa<BinaryOperator>(e) &&
2747 cast<BinaryOperator>(e)->getOpcode() == BO_Assign)
2899 Result visitBinaryOperator(const BinaryOperator *e);
2900 Result visitBinAssign(const BinaryOperator *e);
2901 Result visitBinAssignUnsafeUnretained(const BinaryOperator *e);
2902 Result visitBinAssignAutoreleasing(const BinaryOperator *e);
2903 Result visitBinAssignWeak(const BinaryOperator *e);
2904 Result visitBinAssignStrong(const BinaryOperator *e);
3017 ARCExprEmitter<Impl,Result>::visitBinaryOperator(const BinaryOperator *e) {
3033 Result ARCExprEmitter<Impl,Result>::visitBinAssign(const BinaryOperator *e) {
3057 visitBinAssignUnsafeUnretained(const BinaryOperator *e) {
3073 ARCExprEmitter<Impl,Result>::visitBinAssignAutoreleasing(const BinaryOperator *e) {
3079 ARCExprEmitter<Impl,Result>::visitBinAssignWeak(const BinaryOperator *e) {
3085 ARCExprEmitter<Impl,Result>::visitBinAssignStrong(const BinaryOperator *e) {
3106 } else if (auto op = dyn_cast<BinaryOperator>(e)) {
3379 CodeGenFunction::EmitARCStoreUnsafeUnretained(const BinaryOperator *e,
3398 CodeGenFunction::EmitARCStoreStrong(const BinaryOperator *e,
3429 CodeGenFunction::EmitARCStoreAutoreleasing(const BinaryOperator *e) {
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 5865 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
5865 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
5881 if (const auto *BORHS =
5882 dyn_cast<BinaryOperator>(RHSExpr->IgnoreParenImpCasts())) {
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp 704 const auto *BO = dyn_cast<BinaryOperator>(Copy);
704 const auto *BO = dyn_cast<BinaryOperator>(Copy);
1469 if (const auto *CS = cast_or_null<BinaryOperator>(C->getCalcStep()))
1469 if (const auto *CS = cast_or_null<BinaryOperator>(C->getCalcStep()))
2635 BinaryOperator Cond(&IVRefExpr, &UBRefExpr, BO_LE, C.BoolTy, VK_RValue,
3871 const auto *BOUE = cast<BinaryOperator>(UE->IgnoreImpCasts());
3871 const auto *BOUE = cast<BinaryOperator>(UE->IgnoreImpCasts());
3939 const auto *BOUE = cast<BinaryOperator>(UE->IgnoreImpCasts());
3939 const auto *BOUE = cast<BinaryOperator>(UE->IgnoreImpCasts());
tools/clang/lib/CodeGen/CodeGenFunction.cpp 1372 if (const BinaryOperator *CondBOp = dyn_cast<BinaryOperator>(Cond)) {
1372 if (const BinaryOperator *CondBOp = dyn_cast<BinaryOperator>(Cond)) {
tools/clang/lib/CodeGen/CodeGenFunction.h 3488 LValue EmitComplexAssignmentLValue(const BinaryOperator *E);
3494 LValue EmitBinaryOperatorLValue(const BinaryOperator *E);
3588 LValue EmitPointerToDataMemberBinaryExpr(const BinaryOperator *E);
3839 EmitARCStoreAutoreleasing(const BinaryOperator *e);
3841 EmitARCStoreStrong(const BinaryOperator *e, bool ignored);
3843 EmitARCStoreUnsafeUnretained(const BinaryOperator *e, bool ignored);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 285 const BinaryOperator *BO = cast<BinaryOperator>(S);
285 const BinaryOperator *BO = cast<BinaryOperator>(S);
696 void VisitBinLAnd(const BinaryOperator *E) {
708 void VisitBinLOr(const BinaryOperator *E) {
tools/clang/lib/CodeGen/CoverageMappingGen.cpp 1251 void VisitBinLAnd(const BinaryOperator *E) {
1260 void VisitBinLOr(const BinaryOperator *E) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp 5437 if (isa<BinaryOperator>(PseudoOp->getSyntacticForm())) {
7483 BinaryOperator *addExpr =
7484 new (Context) BinaryOperator(castExpr, DRE, BO_Add,
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp 1251 RHS = cast<BinaryOperator>(PseudoOp->getSyntacticForm())->getRHS();
2992 BinaryOperator *lessThanExpr =
2993 new (Context) BinaryOperator(sizeofExpr, limit, BO_LE, Context->IntTy,
4561 if (isa<BinaryOperator>(PseudoOp->getSyntacticForm())) {
tools/clang/lib/Index/IndexBody.cpp 75 if (auto BO = dyn_cast<BinaryOperator>(Parent)) {
236 if (const auto *BinOp = dyn_cast<BinaryOperator>(E))
236 if (const auto *BinOp = dyn_cast<BinaryOperator>(E))
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp 144 void compareAlwaysTrue(const BinaryOperator *B, bool isAlwaysTrue) override {
153 void compareBitwiseEquality(const BinaryOperator *B,
163 void compareBitwiseOr(const BinaryOperator *B) override {
889 const BinaryOperator *BO = cast<BinaryOperator>(Term);
889 const BinaryOperator *BO = cast<BinaryOperator>(Term);
tools/clang/lib/Sema/Sema.cpp 2091 !isa<BinaryOperator>(E) &&
tools/clang/lib/Sema/SemaChecking.cpp 7048 const BinaryOperator *BinOp = cast<BinaryOperator>(E);
7048 const BinaryOperator *BinOp = cast<BinaryOperator>(E);
9317 const BinaryOperator *Size = dyn_cast<BinaryOperator>(E);
9317 const BinaryOperator *Size = dyn_cast<BinaryOperator>(E);
9491 if (const auto *BO = dyn_cast<BinaryOperator>(SizeofExpr)) {
9491 if (const auto *BO = dyn_cast<BinaryOperator>(SizeofExpr)) {
9772 const BinaryOperator * BO = dyn_cast<BinaryOperator>(Ex);
9772 const BinaryOperator * BO = dyn_cast<BinaryOperator>(Ex);
9916 } else if (const BinaryOperator *BE = dyn_cast<BinaryOperator>(LenArg)) {
9916 } else if (const BinaryOperator *BE = dyn_cast<BinaryOperator>(LenArg)) {
10264 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
10264 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
10657 static bool CheckTautologicalComparison(Sema &S, BinaryOperator *E,
10773 static void AnalyzeImpConvsInComparison(Sema &S, BinaryOperator *E) {
10781 static void AnalyzeComparison(Sema &S, BinaryOperator *E) {
11030 static void AnalyzeAssignment(Sema &S, BinaryOperator *E) {
11085 isa<BinaryOperator>(Ignored) ||
11212 static void AnalyzeCompoundAssignment(Sema &S, BinaryOperator *E) {
11509 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
11509 if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
11510 BinaryOperator::Opcode Opc = BO->getOpcode();
12093 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
12093 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
12117 BinaryOperator *BO = dyn_cast<BinaryOperator>(E);
12117 BinaryOperator *BO = dyn_cast<BinaryOperator>(E);
12448 if (isa<BinaryOperator>(E)) {
12658 } else if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
12658 } else if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
12789 void VisitBinComma(BinaryOperator *BO) {
12797 void VisitBinAssign(BinaryOperator *BO) {
12863 void VisitBinLOr(BinaryOperator *BO) {
12888 void VisitBinLAnd(BinaryOperator *BO) {
13578 void VisitBinaryOperator(BinaryOperator *BinOp) {
14431 const BinaryOperator *BO = cast<BinaryOperator>(TypeExpr);
14431 const BinaryOperator *BO = cast<BinaryOperator>(TypeExpr);
tools/clang/lib/Sema/SemaConcept.cpp 28 if (auto *BinOp = dyn_cast<BinaryOperator>(ConstraintExpression)) {
28 if (auto *BinOp = dyn_cast<BinaryOperator>(ConstraintExpression)) {
56 if (auto *BO = dyn_cast<BinaryOperator>(ConstraintExpr)) {
56 if (auto *BO = dyn_cast<BinaryOperator>(ConstraintExpr)) {
tools/clang/lib/Sema/SemaDecl.cpp10898 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
10898 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
11030 void VisitBinaryOperator(BinaryOperator *E) {
17180 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(InitExpr)) {
17180 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(InitExpr)) {
tools/clang/lib/Sema/SemaDeclAttr.cpp 614 } else if (const auto *E = dyn_cast<BinaryOperator>(Ex)) {
614 } else if (const auto *E = dyn_cast<BinaryOperator>(Ex)) {
tools/clang/lib/Sema/SemaDeclCXX.cpp 3629 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
3629 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
3750 void VisitBinaryOperator(BinaryOperator *E) {
12281 = new (S.Context) BinaryOperator(IterationVarRefRVal.build(S, Loc),
tools/clang/lib/Sema/SemaExceptionSpec.cpp 1001 if (auto *Op = dyn_cast<BinaryOperator>(E)) {
tools/clang/lib/Sema/SemaExpr.cpp 3898 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E->IgnoreParens())) {
3898 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E->IgnoreParens())) {
4346 ((isa<BinaryOperator>(idx) && cast<BinaryOperator>(idx)->isCommaOp()) ||
4346 ((isa<BinaryOperator>(idx) && cast<BinaryOperator>(idx)->isCommaOp()) ||
7621 return BinaryOperator::isAdditiveOp(Opc) ||
7622 BinaryOperator::isMultiplicativeOp(Opc) ||
7623 BinaryOperator::isShiftOp(Opc) || Opc == BO_And || Opc == BO_Or;
7647 if (BinaryOperator *OP = dyn_cast<BinaryOperator>(E)) {
7647 if (BinaryOperator *OP = dyn_cast<BinaryOperator>(E)) {
7667 BinaryOperatorKind OpKind = BinaryOperator::getOverloadedOpcode(OO);
7686 if (BinaryOperator *OP = dyn_cast<BinaryOperator>(E))
7686 if (BinaryOperator *OP = dyn_cast<BinaryOperator>(E))
7718 unsigned DiagID = BinaryOperator::isBitwiseOp(CondOpcode)
7724 << BinaryOperator::getOpcodeStr(CondOpcode);
7729 << BinaryOperator::getOpcodeStr(CondOpcode),
9646 bool IsGNUIdiom = BinaryOperator::isNullPointerArithmeticExtension(
10239 if (BinaryOperator::isEqualityOp(Opc) &&
10319 (LHSType->isBlockPointerType() && !BinaryOperator::isEqualityOp(Opc)) ||
10606 if (Type->isAnyComplexType() && BinaryOperator::isRelationalOp(Opc))
10610 if (Type->hasFloatingRepresentation() && BinaryOperator::isEqualityOp(Opc))
10647 bool IsRelational = BinaryOperator::isRelationalOp(Opc);
10676 if (!getLangOpts().CPlusPlus && BinaryOperator::isEqualityOp(Opc)) {
11154 if (BinaryOperator::isEqualityOp(Opc) &&
12057 while (const BinaryOperator *BO = dyn_cast<BinaryOperator>(LHS)) {
12057 while (const BinaryOperator *BO = dyn_cast<BinaryOperator>(LHS)) {
12763 auto *BO = new (Context) BinaryOperator(LHS.get(), RHS.get(), Opc, BinOpResTy,
12763 auto *BO = new (Context) BinaryOperator(LHS.get(), RHS.get(), Opc, BinOpResTy,
13053 return new (Context) BinaryOperator(LHS.get(), RHS.get(), Opc, ResultTy, VK,
13080 BinaryOperator *LHSBO = dyn_cast<BinaryOperator>(LHSExpr);
13080 BinaryOperator *LHSBO = dyn_cast<BinaryOperator>(LHSExpr);
13081 BinaryOperator *RHSBO = dyn_cast<BinaryOperator>(RHSExpr);
13081 BinaryOperator *RHSBO = dyn_cast<BinaryOperator>(RHSExpr);
13106 << DiagRange << BinaryOperator::getOpcodeStr(Opc) << OpStr;
13112 << BinaryOperator::getOpcodeStr(Opc),
13121 BinaryOperator *Bop) {
13150 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(LHSExpr)) {
13150 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(LHSExpr)) {
13159 if (BinaryOperator *RBop = dyn_cast<BinaryOperator>(Bop->getRHS())) {
13159 if (BinaryOperator *RBop = dyn_cast<BinaryOperator>(Bop->getRHS())) {
13172 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) {
13172 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) {
13189 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(SubExpr)) {
13189 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(SubExpr)) {
13192 << Bop->getOpcodeStr() << BinaryOperator::getOpcodeStr(Opc)
13204 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(SubExpr)) {
13204 if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(SubExpr)) {
13248 if (BinaryOperator::isBitwiseOp(Opc))
13267 StringRef Shift = BinaryOperator::getOpcodeStr(Opc);
13274 if (BinaryOperator::isComparisonOp(Opc))
13317 = BinaryOperator::getOverloadedOperator(Opc);
13354 BinaryOperator::isAssignmentOp(Opc))
15144 if (auto *BO = dyn_cast<BinaryOperator>(E->IgnoreParenImpCasts())) {
15144 if (auto *BO = dyn_cast<BinaryOperator>(E->IgnoreParenImpCasts())) {
16465 auto *BO = cast<BinaryOperator>(E);
16465 auto *BO = cast<BinaryOperator>(E);
17189 if (BinaryOperator *Op = dyn_cast<BinaryOperator>(E)) {
17189 if (BinaryOperator *Op = dyn_cast<BinaryOperator>(E)) {
17252 if (BinaryOperator *opE = dyn_cast<BinaryOperator>(E))
17252 if (BinaryOperator *opE = dyn_cast<BinaryOperator>(E))
tools/clang/lib/Sema/SemaExprCXX.cpp 6382 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Callee))
6382 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Callee))
6599 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
6599 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
6606 return new (Context) BinaryOperator(
7300 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
7300 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
tools/clang/lib/Sema/SemaExprObjC.cpp 3402 ACCResult VisitBinComma(BinaryOperator *e) {
tools/clang/lib/Sema/SemaInit.cpp 7228 auto *BO = cast<BinaryOperator>(Init);
7228 auto *BO = cast<BinaryOperator>(Init);
tools/clang/lib/Sema/SemaLambda.cpp 589 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
589 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
tools/clang/lib/Sema/SemaOpenMP.cpp 5662 if (auto *BO = dyn_cast<BinaryOperator>(S)) {
5662 if (auto *BO = dyn_cast<BinaryOperator>(S)) {
5763 if (auto *BO = dyn_cast<BinaryOperator>(S)) {
5763 if (auto *BO = dyn_cast<BinaryOperator>(S)) {
5824 if (auto *BO = dyn_cast<BinaryOperator>(RHS)) {
5824 if (auto *BO = dyn_cast<BinaryOperator>(RHS)) {
5880 } else if (auto *BO = dyn_cast<BinaryOperator>(S)) {
5880 } else if (auto *BO = dyn_cast<BinaryOperator>(S)) {
8252 bool checkBinaryOperation(BinaryOperator *AtomicBinOp, unsigned DiagId = 0,
8258 BinaryOperator *AtomicBinOp, unsigned DiagId, unsigned NoteId) {
8267 if (const auto *AtomicInnerBinOp = dyn_cast<BinaryOperator>(
8267 if (const auto *AtomicInnerBinOp = dyn_cast<BinaryOperator>(
8345 Op = BinaryOperator::getOpForCompoundAssignment(
8351 } else if (auto *AtomicBinOp = dyn_cast<BinaryOperator>(
8351 } else if (auto *AtomicBinOp = dyn_cast<BinaryOperator>(
8493 const auto *AtomicBinOp =
8494 dyn_cast<BinaryOperator>(AtomicBody->IgnoreParenImpCasts());
8556 const auto *AtomicBinOp =
8557 dyn_cast<BinaryOperator>(AtomicBody->IgnoreParenImpCasts());
8646 const auto *AtomicBinOp =
8647 dyn_cast<BinaryOperator>(AtomicBody->IgnoreParenImpCasts());
8707 BinaryOperator *BinOp = nullptr;
8709 BinOp = dyn_cast<BinaryOperator>(First);
8739 BinOp = dyn_cast<BinaryOperator>(Second);
8773 auto *FirstBinOp = dyn_cast<BinaryOperator>(First);
8773 auto *FirstBinOp = dyn_cast<BinaryOperator>(First);
8782 auto *SecondBinOp = dyn_cast<BinaryOperator>(Second);
8782 auto *SecondBinOp = dyn_cast<BinaryOperator>(Second);
13942 Step = cast<BinaryOperator>(CalcStep)->getLHS();
14390 if (auto *BO = dyn_cast<BinaryOperator>(SimpleExpr)) {
14390 if (auto *BO = dyn_cast<BinaryOperator>(SimpleExpr)) {
14391 OOK = BinaryOperator::getOverloadedOperator(BO->getOpcode());
tools/clang/lib/Sema/SemaOverload.cpp12733 OverloadedOperatorKind Op = BinaryOperator::getOverloadedOperator(Opc);
12743 return new (Context) BinaryOperator(
12874 << FnDecl->getReturnType() << BinaryOperator::getOpcodeStr(Opc)
12895 << BinaryOperator::getOpcodeStr(Opc)
13056 StringRef OpcStr = BinaryOperator::getOpcodeStr(Opc);
13062 << BinaryOperator::getOpcodeStr(Opc)
13090 << BinaryOperator::getOpcodeStr(Opc)
13095 *this, OCD_AmbiguousCandidates, Args, BinaryOperator::getOpcodeStr(Opc),
13118 *this, OCD_AllCandidates, Args, BinaryOperator::getOpcodeStr(Opc),
13316 if (BinaryOperator *op = dyn_cast<BinaryOperator>(NakedMemExpr)) {
13316 if (BinaryOperator *op = dyn_cast<BinaryOperator>(NakedMemExpr)) {
tools/clang/lib/Sema/SemaPseudoObject.cpp 456 syntactic = new (S.Context) BinaryOperator(syntacticLHS, capturedRHS,
467 BinaryOperator::getOpForCompoundAssignment(opcode);
1594 return new (Context) BinaryOperator(LHS, RHS, opcode, Context.DependentTy,
1664 } else if (BinaryOperator *bop = dyn_cast<BinaryOperator>(syntax)) {
1664 } else if (BinaryOperator *bop = dyn_cast<BinaryOperator>(syntax)) {
1667 return new (Context) BinaryOperator(lhs, rhs, bop->getOpcode(),
tools/clang/lib/Sema/SemaStmt.cpp 133 if (const BinaryOperator *Op = dyn_cast<BinaryOperator>(E)) {
133 if (const BinaryOperator *Op = dyn_cast<BinaryOperator>(E)) {
554 void VisitBinaryOperator(BinaryOperator *E) {
1395 void VisitBinaryOperator(BinaryOperator *E) {
tools/clang/lib/Sema/SemaTemplate.cpp 3074 if (auto BinOp = dyn_cast<BinaryOperator>(Clause->IgnoreParenImpCasts())) {
3091 auto *BinOp = dyn_cast<BinaryOperator>(Cond->IgnoreParenImpCasts());
3091 auto *BinOp = dyn_cast<BinaryOperator>(Cond->IgnoreParenImpCasts());
3098 auto *InnerBinOp = dyn_cast<BinaryOperator>(LHS->IgnoreParenImpCasts());
3098 auto *InnerBinOp = dyn_cast<BinaryOperator>(LHS->IgnoreParenImpCasts());
tools/clang/lib/Sema/SemaTemplateVariadic.cpp 1147 if ((OCE && OCE->isInfixBinaryOp()) || isa<BinaryOperator>(E) ||
1235 << BinaryOperator::getOpcodeStr(Operator);
tools/clang/lib/Sema/TreeTransform.h13198 BinaryOperatorKind Opc = BinaryOperator::getOverloadedOpcode(Op);
13199 if (BinaryOperator::isAssignmentOp(Opc))
13240 BinaryOperatorKind Opc = BinaryOperator::getOverloadedOpcode(Op);
13303 BinaryOperatorKind Opc = BinaryOperator::getOverloadedOpcode(Op);
tools/clang/lib/Serialization/ASTReaderStmt.cpp 866 void ASTStmtReader::VisitBinaryOperator(BinaryOperator *E) {
2687 S = new (Context) BinaryOperator(Empty);
tools/clang/lib/Serialization/ASTWriterStmt.cpp 772 void ASTStmtWriter::VisitBinaryOperator(BinaryOperator *E) {
tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp 130 if (const auto *BE = dyn_cast<BinaryOperator>(LenArg->IgnoreParenCasts())) {
130 if (const auto *BE = dyn_cast<BinaryOperator>(LenArg->IgnoreParenCasts())) {
188 if (const auto *BE =
189 dyn_cast<BinaryOperator>(DstArg->IgnoreParenImpCasts())) {
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp 413 BinaryOperator::Opcode OpCode = CondBSE->getOpcode();
tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp 213 if (const BinaryOperator *B = dyn_cast<BinaryOperator>(expr)) {
213 if (const BinaryOperator *B = dyn_cast<BinaryOperator>(expr)) {
264 const BinaryOperator *B = dyn_cast<BinaryOperator>(condition);
264 const BinaryOperator *B = dyn_cast<BinaryOperator>(condition);
tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp 77 if (const auto *B = dyn_cast<BinaryOperator>(Parent)) {
77 if (const auto *B = dyn_cast<BinaryOperator>(Parent)) {
78 BinaryOperator::Opcode Opc = B->getOpcode();
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp 105 const BinaryOperator *BO =
106 dyn_cast<BinaryOperator>(Ex->IgnoreParenCasts());
294 bool isIncrement(VarDecl *VD, const BinaryOperator* B) {
299 const BinaryOperator* BRHS = dyn_cast<BinaryOperator>(RHS);
299 const BinaryOperator* BRHS = dyn_cast<BinaryOperator>(RHS);
328 if (const BinaryOperator* B = dyn_cast<BinaryOperator>(S)) {
328 if (const BinaryOperator* B = dyn_cast<BinaryOperator>(S)) {
tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp 76 void VisitBinaryOperator(const BinaryOperator *BO);
164 const BinaryOperator *BO) {
tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp 26 class DivZeroChecker : public Checker< check::PreStmt<BinaryOperator> > {
32 void checkPreStmt(const BinaryOperator *B, CheckerContext &C) const;
38 if (const auto *BE = dyn_cast<BinaryOperator>(S))
38 if (const auto *BE = dyn_cast<BinaryOperator>(S))
57 void DivZeroChecker::checkPreStmt(const BinaryOperator *B,
59 BinaryOperator::Opcode Op = B->getOpcode();
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp 363 return (*Str + " " + BinaryOperator::getOpcodeStr(S->getOpcode()) + " " +
375 return (*Str1 + " " + BinaryOperator::getOpcodeStr(S->getOpcode()) +
tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp 26 : public Checker< check::PreStmt<BinaryOperator> > {
30 void checkPreStmt(const BinaryOperator *B, CheckerContext &C) const;
34 void FixedAddressChecker::checkPreStmt(const BinaryOperator *B,
tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp 48 bool VisitBinaryOperator(const BinaryOperator *B);
53 void reportIdenticalExpr(const BinaryOperator *B, bool CheckBitwise,
55 void checkBitwiseOrLogicalOp(const BinaryOperator *B, bool CheckBitwise);
56 void checkComparisonOp(const BinaryOperator *B);
60 void FindIdenticalExprVisitor::reportIdenticalExpr(const BinaryOperator *B,
77 void FindIdenticalExprVisitor::checkBitwiseOrLogicalOp(const BinaryOperator *B,
88 while (const BinaryOperator *B2 = dyn_cast<BinaryOperator>(LHS)) {
88 while (const BinaryOperator *B2 = dyn_cast<BinaryOperator>(LHS)) {
181 bool FindIdenticalExprVisitor::VisitBinaryOperator(const BinaryOperator *B) {
182 BinaryOperator::Opcode Op = B->getOpcode();
184 if (BinaryOperator::isBitwiseOp(Op))
187 if (BinaryOperator::isLogicalOp(Op))
190 if (BinaryOperator::isComparisonOp(Op))
199 void FindIdenticalExprVisitor::checkComparisonOp(const BinaryOperator *B) {
200 BinaryOperator::Opcode Op = B->getOpcode();
450 const BinaryOperator *BinOp1 = cast<BinaryOperator>(Stmt1);
450 const BinaryOperator *BinOp1 = cast<BinaryOperator>(Stmt1);
451 const BinaryOperator *BinOp2 = cast<BinaryOperator>(Stmt2);
451 const BinaryOperator *BinOp2 = cast<BinaryOperator>(Stmt2);
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp 322 BinaryOperator::Opcode Opc);
325 BinaryOperator::Opcode Opc);
328 BinaryOperator::Opcode Opc1,
330 BinaryOperator::Opcode Opc2);
338 BinaryOperator::Opcode Opc);
341 SymbolRef NewSym, SymbolRef CondSym, BinaryOperator::Opcode Opc);
1636 BinaryOperator::Opcode Opc);
1638 BinaryOperator::Opcode Opc);
2183 BinaryOperator::Opcode Opc) {
2196 BinaryOperator::Opcode Opc) {
2208 BinaryOperator::Opcode Opc1,
2210 BinaryOperator::Opcode Opc2) {
2237 BinaryOperator::Opcode Opc) {
2253 SymbolRef NewSym, SymbolRef CondSym, BinaryOperator::Opcode Opc) {
2351 BinaryOperator::Opcode Opc) {
2356 BinaryOperator::Opcode Opc) {
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp 161 void VisitBinaryOperator(const BinaryOperator *BO);
668 const BinaryOperator *BO) {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp 1243 const BinaryOperator *BO = nullptr;
1249 if (const BinaryOperator *B =
1250 dyn_cast<BinaryOperator>(InitExpr->IgnoreParenImpCasts())) {
1259 } else if (const BinaryOperator *B = dyn_cast<BinaryOperator>(Condition)) {
1259 } else if (const BinaryOperator *B = dyn_cast<BinaryOperator>(Condition)) {
tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp 515 BinaryOperator::Opcode OpCode = CondBSE->getOpcode();
tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp 35 const BinaryOperator *mulop;
39 MallocOverflowCheck(const BinaryOperator *m, const Expr *v, APSInt val)
75 const BinaryOperator * mulop = nullptr;
81 if (const BinaryOperator *binop = dyn_cast<BinaryOperator>(e)) {
81 if (const BinaryOperator *binop = dyn_cast<BinaryOperator>(e)) {
175 void CheckAssignmentExpr(BinaryOperator *AssignEx) {
190 if (const BinaryOperator *BOp = dyn_cast<BinaryOperator>(rhse)) {
190 if (const BinaryOperator *BOp = dyn_cast<BinaryOperator>(rhse)) {
227 void VisitBinaryOperator(BinaryOperator *E) {
tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp 114 void VisitBinMul(const BinaryOperator *E) {
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp 989 if (auto *BinOp = dyn_cast<BinaryOperator>(S)) {
1150 const auto *BinOp = dyn_cast<BinaryOperator>(S);
1150 const auto *BinOp = dyn_cast<BinaryOperator>(S);
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp 45 check::PreStmt<BinaryOperator>, check::PreStmt<UnaryOperator>,
64 void checkPreStmt(const BinaryOperator *BOp, CheckerContext &C) const;
317 void PointerArithChecker::checkPreStmt(const BinaryOperator *BOp,
tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp 26 : public Checker< check::PreStmt<BinaryOperator> > {
30 void checkPreStmt(const BinaryOperator *B, CheckerContext &C) const;
34 void PointerSubChecker::checkPreStmt(const BinaryOperator *B,
tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp 111 BinaryOperator::Opcode getOpcode() const {
114 BinaryOperator::Opcode Op =
327 BinaryOperator::Opcode Op = getOpcode();
tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp 78 : public Checker<check::PreStmt<BinaryOperator>, check::BranchCondition,
84 void checkPreStmt(const BinaryOperator *B, CheckerContext &C) const;
104 if (const BinaryOperator *BO = P->getStmtAs<BinaryOperator>()) {
104 if (const BinaryOperator *BO = P->getStmtAs<BinaryOperator>()) {
105 BinaryOperator::Opcode Op = BO->getOpcode();
200 void TestAfterDivZeroChecker::checkPreStmt(const BinaryOperator *B,
202 BinaryOperator::Opcode Op = B->getOpcode();
214 if (const BinaryOperator *B = dyn_cast<BinaryOperator>(Condition)) {
214 if (const BinaryOperator *B = dyn_cast<BinaryOperator>(Condition)) {
tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp 28 : public Checker< check::PostStmt<BinaryOperator> > {
33 void checkPostStmt(const BinaryOperator *B, CheckerContext &C) const;
60 static bool isShiftOverflow(const BinaryOperator *B, CheckerContext &C) {
65 static bool isLeftShiftResultUnrepresentable(const BinaryOperator *B,
75 void UndefResultChecker::checkPostStmt(const BinaryOperator *B,
112 << BinaryOperator::getOpcodeStr(B->getOpcode())
169 << BinaryOperator::getOpcodeStr(B->getOpcode())
tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp 73 if (const BinaryOperator *B = dyn_cast<BinaryOperator>(StoreE)) {
73 if (const BinaryOperator *B = dyn_cast<BinaryOperator>(StoreE)) {
tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp 205 BasicValueFactory::evalAPSInt(BinaryOperator::Opcode Op,
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp 646 const auto *B = cast<BinaryOperator>(Parent);
646 const auto *B = cast<BinaryOperator>(Parent);
812 const auto *B = cast<BinaryOperator>(T);
812 const auto *B = cast<BinaryOperator>(T);
1356 const auto *BO = cast<BinaryOperator>(S);
1356 const auto *BO = cast<BinaryOperator>(S);
2363 if (const auto *B = dyn_cast<BinaryOperator>(S))
2363 if (const auto *B = dyn_cast<BinaryOperator>(S))
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 74 static const Expr *peelOffPointerArithmetic(const BinaryOperator *B) {
109 } else if (const auto *B = dyn_cast<BinaryOperator>(E)) {
109 } else if (const auto *B = dyn_cast<BinaryOperator>(E)) {
277 if (auto *BO = PS->getStmtAs<BinaryOperator>())
865 } else if (const auto *BO = dyn_cast<BinaryOperator>(S)) {
865 } else if (const auto *BO = dyn_cast<BinaryOperator>(S)) {
1410 if (const BinaryOperator *BO = P->getStmtAs<BinaryOperator>())
1410 if (const BinaryOperator *BO = P->getStmtAs<BinaryOperator>())
1778 if (const auto *BinOp = dyn_cast<BinaryOperator>(ElseCond))
1778 if (const auto *BinOp = dyn_cast<BinaryOperator>(ElseCond))
1897 if (auto *BO = dyn_cast<BinaryOperator>(Ex))
2224 const auto *BO = cast<BinaryOperator>(Term);
2224 const auto *BO = cast<BinaryOperator>(Term);
2236 while (const auto *InnerBO = dyn_cast<BinaryOperator>(Cond)) {
2236 while (const auto *InnerBO = dyn_cast<BinaryOperator>(Cond)) {
2275 if (auto P = VisitTrueTest(Cond, cast<BinaryOperator>(CondTmp),
2405 const Expr *Cond, const BinaryOperator *BExpr, BugReporterContext &BRC,
2432 BinaryOperator::Opcode Op = BExpr->getOpcode();
2434 if (BinaryOperator::isAssignmentOp(Op)) {
2444 !BinaryOperator::isComparisonOp(Op) || Op == BO_Cmp)
2483 Out << BinaryOperator::getOpcodeStr(Op) << ' ';
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp 1031 if (const auto *BO = dyn_cast<BinaryOperator>(Syntactic))
1031 if (const auto *BO = dyn_cast<BinaryOperator>(Syntactic))
tools/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp 84 if (auto Assign = dyn_cast_or_null<BinaryOperator>(S)) {
tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp 313 HandleBranch(cast<BinaryOperator>(Term)->getLHS(), Term, B, Pred);
tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp 364 BinaryOperatorKind Op = cast<BinaryOperator>(S)->getOpcode();
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 1531 const auto *B = cast<BinaryOperator>(S);
1531 const auto *B = cast<BinaryOperator>(S);
1552 VisitBinaryOperator(cast<BinaryOperator>(S), Pred, Tmp);
1556 VisitBinaryOperator(cast<BinaryOperator>(S), Pred, Dst);
1648 VisitBinaryOperator(cast<BinaryOperator>(S), Pred, Dst);
2030 const auto *BO = dyn_cast<BinaryOperator>(Condition);
2030 const auto *BO = dyn_cast<BinaryOperator>(Condition);
2059 const auto *BO = dyn_cast<BinaryOperator>(Condition);
2059 const auto *BO = dyn_cast<BinaryOperator>(Condition);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 40 void ExprEngine::VisitBinaryOperator(const BinaryOperator* B,
61 BinaryOperator::Opcode Op = B->getOpcode();
638 void ExprEngine::VisitLogicalExpr(const BinaryOperator* B, ExplodedNode *Pred,
700 if (const BinaryOperator *Term = cast_or_null<BinaryOperator>(T.getStmt())) {
700 if (const BinaryOperator *Term = cast_or_null<BinaryOperator>(T.getStmt())) {
1098 BinaryOperator::Opcode Op = U->isIncrementOp() ? BO_Add : BO_Sub;
tools/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp 216 auto CondOp = Matches[0].getNodeAs<BinaryOperator>("conditionOperator");
tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp 364 if (BinaryOperator::isEqualityOp(SSE->getOpcode()) ||
365 BinaryOperator::isRelationalOp(SSE->getOpcode())) {
460 BinaryOperator::Opcode Operator = SIE->getOpcode();
tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp 34 BinaryOperator::Opcode op = SIE->getOpcode();
35 if (BinaryOperator::isComparisonOp(op) && op != BO_Cmp) {
37 op = BinaryOperator::negateComparisonOp(op);
50 BinaryOperator::Opcode Op = SSE->getOpcode();
61 Op = BinaryOperator::reverseComparisonOp(Op);
63 Op = BinaryOperator::negateComparisonOp(Op);
121 BinaryOperator::Opcode Op,
133 if (BinaryOperator::isComparisonOp(SE->getOpcode()))
188 BinaryOperator::Opcode Op = SE->getOpcode();
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 67 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
78 BinaryOperator::Opcode op, const SymExpr *rhs,
85 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
377 SVal SValBuilder::makeSymExprValNN(BinaryOperator::Opcode Op,
404 SVal SValBuilder::evalBinOp(ProgramStateRef state, BinaryOperator::Opcode op,
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp 243 BinaryOperator::Opcode Op,
269 BinaryOperator::Opcode Op,
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp 38 SVal evalBinOpNN(ProgramStateRef state, BinaryOperator::Opcode op,
40 SVal evalBinOpLL(ProgramStateRef state, BinaryOperator::Opcode op,
42 SVal evalBinOpLN(ProgramStateRef state, BinaryOperator::Opcode op,
53 SVal MakeSymIntVal(const SymExpr *LHS, BinaryOperator::Opcode op,
218 BinaryOperator::Opcode op,
287 if (BinaryOperator::isComparisonOp(op)) {
313 static bool isInRelation(BinaryOperator::Opcode Rel, SymbolRef Sym,
358 if (BinaryOperator::isAdditiveOp(SymInt->getOpcode()))
372 BinaryOperator::Opcode Op,
388 if (BinaryOperator::isComparisonOp(Op))
390 else if (BinaryOperator::isAdditiveOp(Op))
402 BinaryOperator::Opcode ResultOp;
404 if (BinaryOperator::isComparisonOp(Op)) {
410 ResultOp = BinaryOperator::reverseComparisonOp(Op);
438 static bool shouldRearrange(ProgramStateRef State, BinaryOperator::Opcode Op,
441 (!BinaryOperator::isComparisonOp(Op) ||
447 BinaryOperator::Opcode Op, NonLoc Lhs,
468 if (BinaryOperator::isComparisonOp(Op)) {
473 } else if (BinaryOperator::isAdditiveOp(Op)) {
505 BinaryOperator::Opcode op,
559 if (!BinaryOperator::isComparisonOp(op))
567 if (!BinaryOperator::isComparisonOp(op))
603 if (BinaryOperator::isComparisonOp(op)) {
611 } else if (!BinaryOperator::isShiftOp(op)) {
634 op = BinaryOperator::reverseComparisonOp(op);
670 BinaryOperator::Opcode opc = symIntExpr->getOpcode();
707 opc = BinaryOperator::negateComparisonOp(opc);
717 if (BinaryOperator::isAdditiveOp(op)) {
718 BinaryOperator::Opcode lop = symIntExpr->getOpcode();
719 if (BinaryOperator::isAdditiveOp(lop)) {
776 BinaryOperator::Opcode op,
780 if (!BinaryOperator::isComparisonOp(op))
822 BinaryOperator::Opcode op,
831 if (!(BinaryOperator::isComparisonOp(op) || op == BO_Sub))
887 if (!BinaryOperator::isComparisonOp(op) || op == BO_Cmp)
891 op = BinaryOperator::reverseComparisonOp(op);
935 if (BinaryOperator::isComparisonOp(op))
947 if (BinaryOperator::isComparisonOp(op)) {
1104 BinaryOperator::Opcode op,
1288 BinaryOperator::isComparisonOp(S->getOpcode())) {
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp 45 << BinaryOperator::getOpcodeStr(getOpcode()) << ' ';
62 << BinaryOperator::getOpcodeStr(getOpcode())
72 << BinaryOperator::getOpcodeStr(getOpcode())
270 BinaryOperator::Opcode op,
288 BinaryOperator::Opcode op,
306 BinaryOperator::Opcode op,
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp 449 if (auto *B = dyn_cast<BinaryOperator>(S))
tools/clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp 34 if (isa<UnaryOperator>(Expr) || isa<BinaryOperator>(Expr) ||
52 if (isa<BinaryOperator>(Expr) || isa<AbstractConditionalOperator>(Expr))
tools/clang/tools/extra/clang-tidy/abseil/DurationAdditionCheck.cpp 33 const BinaryOperator *Binop =
34 Result.Nodes.getNodeAs<clang::BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/abseil/DurationComparisonCheck.cpp 31 const auto *Binop = Result.Nodes.getNodeAs<BinaryOperator>("binop");
31 const auto *Binop = Result.Nodes.getNodeAs<BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp 172 if (const auto *MultBinOp =
173 Result.Nodes.getNodeAs<BinaryOperator>("mult_binop")) {
196 } else if (const auto *DivBinOp =
197 Result.Nodes.getNodeAs<BinaryOperator>("div_binop")) {
tools/clang/tools/extra/clang-tidy/abseil/DurationSubtractionCheck.cpp 33 const auto *Binop = Result.Nodes.getNodeAs<BinaryOperator>("binop");
33 const auto *Binop = Result.Nodes.getNodeAs<BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/abseil/StringFindStartswithCheck.cpp 65 const auto *ComparisonExpr = Result.Nodes.getNodeAs<BinaryOperator>("expr");
65 const auto *ComparisonExpr = Result.Nodes.getNodeAs<BinaryOperator>("expr");
tools/clang/tools/extra/clang-tidy/abseil/TimeComparisonCheck.cpp 32 const auto *Binop = Result.Nodes.getNodeAs<BinaryOperator>("binop");
32 const auto *Binop = Result.Nodes.getNodeAs<BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/abseil/TimeSubtractionCheck.cpp 130 const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("binop");
130 const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp 74 const auto &BinOp = *Result.Nodes.getNodeAs<BinaryOperator>("binop");
74 const auto &BinOp = *Result.Nodes.getNodeAs<BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp 37 if (const auto *Op = dyn_cast<BinaryOperator>(E)) {
37 if (const auto *Op = dyn_cast<BinaryOperator>(E)) {
tools/clang/tools/extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp 49 const auto *IntDiv = Result.Nodes.getNodeAs<BinaryOperator>("IntDiv");
49 const auto *IntDiv = Result.Nodes.getNodeAs<BinaryOperator>("IntDiv");
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp 81 const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("BinOp");
81 const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("BinOp");
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp 59 if (const auto *Bop = dyn_cast<BinaryOperator>(E)) {
59 if (const auto *Bop = dyn_cast<BinaryOperator>(E)) {
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp 234 if (dyn_cast<BinaryOperator>(LengthExpr->IgnoreParenImpCasts()))
324 const auto *BO = dyn_cast<BinaryOperator>(LengthExpr);
324 const auto *BO = dyn_cast<BinaryOperator>(LengthExpr);
tools/clang/tools/extra/clang-tidy/bugprone/PosixReturnCheck.cpp 23 (Result.Nodes.getNodeAs<BinaryOperator>(BindingStr))->getLHS());
63 if (const auto *LessThanZeroOp =
64 Result.Nodes.getNodeAs<BinaryOperator>("ltzop")) {
72 if (const auto *AlwaysTrueOp =
73 Result.Nodes.getNodeAs<BinaryOperator>("atop")) {
80 const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("binop");
80 const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("binop");
tools/clang/tools/extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp 41 } else if (const auto *BE = dyn_cast<BinaryOperator>(E)) {
41 } else if (const auto *BE = dyn_cast<BinaryOperator>(E)) {
tools/clang/tools/extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp 57 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
57 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp 173 if (const auto *DiffEnumOp =
174 Result.Nodes.getNodeAs<BinaryOperator>("diffEnumOp")) {
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp 204 if (const auto *BinOp =
205 Result.Nodes.getNodeAs<BinaryOperator>("suspicious-operator")) {
tools/clang/tools/extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp 115 if (const auto *BinOperator = dyn_cast<BinaryOperator>(UpperBound)) {
115 if (const auto *BinOperator = dyn_cast<BinaryOperator>(UpperBound)) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp 424 const BinaryOperator &Op) {
437 if (const auto *Op = Result.Nodes.getNodeAs<BinaryOperator>("binary_op"))
437 if (const auto *Op = Result.Nodes.getNodeAs<BinaryOperator>("binary_op"))
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h 92 const BinaryOperator &Op);
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp 250 const auto *OwnerAssignment =
251 Nodes.getNodeAs<BinaryOperator>("owner_assignment");
292 const auto *BadOwnerAssignment =
293 Nodes.getNodeAs<BinaryOperator>("bad_owner_creation_assignment");
tools/clang/tools/extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp 77 if (const auto *BinaryOp =
78 N.getNodeAs<BinaryOperator>("binary-no-sign-interference"))
80 else if (const auto *BinaryOp =
81 N.getNodeAs<BinaryOperator>("binary-sign-interference"))
tools/clang/tools/extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp 94 } else if (const auto *MatchedDecl =
95 Result.Nodes.getNodeAs<BinaryOperator>("and")) {
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp 132 return cast<BinaryOperator>(Left)->getOpcode() ==
133 cast<BinaryOperator>(Right)->getOpcode();
403 if (const auto *BinExpr = Result.Nodes.getNodeAs<BinaryOperator>(Id)) {
403 if (const auto *BinExpr = Result.Nodes.getNodeAs<BinaryOperator>(Id)) {
502 if (const auto *Bin = Result.Nodes.getNodeAs<BinaryOperator>(Id)) {
502 if (const auto *Bin = Result.Nodes.getNodeAs<BinaryOperator>(Id)) {
533 Opcode = BinaryOperator::getOverloadedOpcode(OverloadedOperatorExpr->getOperator());
535 return BinaryOperator::isComparisonOp(Opcode);
544 Opcode = BinaryOperator::reverseComparisonOp(Opcode);
546 Opcode = BinaryOperator::negateComparisonOp(Opcode);
551 static bool areSidesBinaryConstExpressions(const BinaryOperator *&BinOp, const ASTContext *AstCtx) {
552 const auto *LhsBinOp = dyn_cast<BinaryOperator>(BinOp->getLHS());
552 const auto *LhsBinOp = dyn_cast<BinaryOperator>(BinOp->getLHS());
553 const auto *RhsBinOp = dyn_cast<BinaryOperator>(BinOp->getRHS());
553 const auto *RhsBinOp = dyn_cast<BinaryOperator>(BinOp->getRHS());
573 static bool retrieveConstExprFromBothSides(const BinaryOperator *&BinOp,
584 const auto *BinOpLhs = cast<BinaryOperator>(BinOp->getLHS());
584 const auto *BinOpLhs = cast<BinaryOperator>(BinOp->getLHS());
585 const auto *BinOpRhs = cast<BinaryOperator>(BinOp->getRHS());
585 const auto *BinOpRhs = cast<BinaryOperator>(BinOp->getRHS());
773 if (const auto *ComparisonOperator = Result.Nodes.getNodeAs<BinaryOperator>(
773 if (const auto *ComparisonOperator = Result.Nodes.getNodeAs<BinaryOperator>(
793 } else if (const auto *ComparisonOperator =
794 Result.Nodes.getNodeAs<BinaryOperator>(
842 if (const auto *ComparisonOperator = Result.Nodes.getNodeAs<BinaryOperator>(
842 if (const auto *ComparisonOperator = Result.Nodes.getNodeAs<BinaryOperator>(
873 } else if (const auto *IneffectiveOperator =
874 Result.Nodes.getNodeAs<BinaryOperator>(
915 if (const auto *ComparisonOperator = Result.Nodes.getNodeAs<BinaryOperator>(
915 if (const auto *ComparisonOperator = Result.Nodes.getNodeAs<BinaryOperator>(
979 if (const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("binary")) {
979 if (const auto *BinOp = Result.Nodes.getNodeAs<BinaryOperator>("binary")) {
1036 if (const auto *BinaryAndExpr = Result.Nodes.getNodeAs<BinaryOperator>(
1036 if (const auto *BinaryAndExpr = Result.Nodes.getNodeAs<BinaryOperator>(
tools/clang/tools/extra/clang-tidy/misc/StaticAssertCheck.cpp 87 const auto *AssertExprRoot =
88 Result.Nodes.getNodeAs<BinaryOperator>("assertExprRoot");
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp 107 const auto *BinaryOp = Result.Nodes.getNodeAs<BinaryOperator>("SizeBinaryOp");
107 const auto *BinaryOp = Result.Nodes.getNodeAs<BinaryOperator>("SizeBinaryOp");
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp 88 return isa<BinaryOperator>(Statement) || isa<UnaryOperator>(Statement);
234 (isa<BinaryOperator>(S) && cast<BinaryOperator>(S)->isLogicalOp())) {
234 (isa<BinaryOperator>(S) && cast<BinaryOperator>(S)->isLogicalOp())) {
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp 58 if (const auto *B = dyn_cast<BinaryOperator>(S)) {
58 if (const auto *B = dyn_cast<BinaryOperator>(S)) {
169 if (const auto *B = dyn_cast<BinaryOperator>(E)) {
169 if (const auto *B = dyn_cast<BinaryOperator>(E)) {
tools/clang/tools/extra/clang-tidy/readability/RedundantStringCStrCheck.cpp 29 if (isa<clang::BinaryOperator>(&ExprNode) ||
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp 77 if (isa<BinaryOperator>(E) || isa<ConditionalOperator>(E))
90 StringRef negatedOperator(const BinaryOperator *BinOp) {
176 (isa<BinaryOperator>(E) ? ("(" + getText(Result, *E) + ")")
223 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
223 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
326 bool VisitBinaryOperator(BinaryOperator *Op) {
350 if (const auto *BinOp = dyn_cast<BinaryOperator>(E))
350 if (const auto *BinOp = dyn_cast<BinaryOperator>(E))
359 const MatchFinder::MatchResult &Result, const BinaryOperator *Op) {
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.h 35 const BinaryOperator *Op);
tools/clang/tools/extra/clang-tidy/utils/ASTUtils.cpp 29 if (clang::isa<clang::BinaryOperator>(E_base) ||
58 if (const auto *BO = dyn_cast<BinaryOperator>(Flags))
58 if (const auto *BO = dyn_cast<BinaryOperator>(Flags))
tools/clang/tools/extra/clang-tidy/utils/ExprSequence.cpp 107 if (const auto *BO = dyn_cast<BinaryOperator>(Parent)) {
107 if (const auto *BO = dyn_cast<BinaryOperator>(Parent)) {
tools/clang/tools/extra/clangd/refactor/tweaks/ExtractVariable.cpp 211 if (const BinaryOperator *Op =
212 llvm::dyn_cast_or_null<BinaryOperator>(N.ASTNode.get<Expr>())) {
224 Kind = BinaryOperator::getOverloadedOpcode(Op->getOperator());
382 if (BinOp.parse(*N) && BinaryOperator::isAssignmentOp(BinOp.Kind))
416 if (const BinaryOperator *BinOpExpr =
417 dyn_cast_or_null<BinaryOperator>(SelectedExpr)) {
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp 25 return ASTNodeKind::getFromNodeKind<T>();
tools/clang/unittests/Tooling/ASTSelectionTest.cpp 107 typename std::enable_if<std::is_base_of<Stmt, T>::value, T>::type
107 typename std::enable_if<std::is_base_of<Stmt, T>::value, T>::type
109 checkNodeImpl(isa<T>(StmtNode.Node.get<Stmt>()), StmtNode, SelectionKind,
346 checkNode<BinaryOperator>(Body.Children[2],
371 checkNode<BinaryOperator>(Body.Children[3],
601 const auto &BinOp = checkNode<BinaryOperator>(
647 const auto &BinOp = checkNode<BinaryOperator>(
tools/clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp 38 bool VisitBinaryOperator(BinaryOperator *Op) {
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
1447 : public __and_<is_destructible<_Tp>, integral_constant<bool,
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1580 { typedef _Tp const type; };
1629 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };
1983 { typedef _Up type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>
2157 { typedef _Tp type; };