Lines Matching refs:Exp
106 auto *Exp = dyn_cast<Expr>(&Node); in AST_MATCHER_P() local
107 if (!Exp) in AST_MATCHER_P()
112 return canExprResolveTo(Exp, Target); in AST_MATCHER_P()
202 const Stmt *ExprMutationAnalyzer::findMutation(const Expr *Exp) { in findMutation() argument
203 return findMutationMemoized(Exp, in findMutation()
218 const Stmt *ExprMutationAnalyzer::findPointeeMutation(const Expr *Exp) { in findPointeeMutation() argument
219 return findMutationMemoized(Exp, {/*TODO*/}, PointeeResults); in findPointeeMutation()
227 const Expr *Exp, llvm::ArrayRef<MutationFinder> Finders, in findMutationMemoized() argument
229 const auto Memoized = MemoizedResults.find(Exp); in findMutationMemoized()
233 if (isUnevaluated(Exp)) in findMutationMemoized()
234 return MemoizedResults[Exp] = nullptr; in findMutationMemoized()
237 if (const Stmt *S = (this->*Finder)(Exp)) in findMutationMemoized()
238 return MemoizedResults[Exp] = S; in findMutationMemoized()
241 return MemoizedResults[Exp] = nullptr; in findMutationMemoized()
264 bool ExprMutationAnalyzer::isUnevaluated(const Stmt *Exp, const Stmt &Stm, in isUnevaluated() argument
270 stmt(canResolveToExpr(Exp), in isUnevaluated()
290 hasDescendant(equalsNode(Exp)))), in isUnevaluated()
296 bool ExprMutationAnalyzer::isUnevaluated(const Expr *Exp) { in isUnevaluated() argument
297 return isUnevaluated(Exp, Stm, Context); in isUnevaluated()
322 const Stmt *ExprMutationAnalyzer::findDirectMutation(const Expr *Exp) { in findDirectMutation() argument
325 binaryOperator(isAssignmentOperator(), hasLHS(canResolveToExpr(Exp))); in findDirectMutation()
330 hasUnaryOperand(canResolveToExpr(Exp))); in findDirectMutation()
337 cxxMemberCallExpr(on(canResolveToExpr(Exp)), unless(isConstCallee())), in findDirectMutation()
339 hasArgument(0, canResolveToExpr(Exp))), in findDirectMutation()
345 hasEitherOperand(ignoringImpCasts(canResolveToExpr(Exp)))), in findDirectMutation()
349 cxxFoldExpr(hasFoldInit(ignoringImpCasts(canResolveToExpr(Exp)))), in findDirectMutation()
354 unresolvedMemberExpr(hasObjectExpression(canResolveToExpr(Exp))), in findDirectMutation()
356 hasObjectExpression(canResolveToExpr(Exp))))))), in findDirectMutation()
362 hasObjectExpression(canResolveToExpr(Exp)))))))); in findDirectMutation()
372 hasUnaryOperand(canResolveToExpr(Exp))); in findDirectMutation()
375 unless(hasParent(arraySubscriptExpr())), has(canResolveToExpr(Exp))); in findDirectMutation()
383 argumentCountIs(1), hasArgument(0, canResolveToExpr(Exp))); in findDirectMutation()
391 anyOf(canResolveToExpr(Exp), in findDirectMutation()
392 memberExpr(hasObjectExpression(canResolveToExpr(Exp)))), in findDirectMutation()
403 callExpr(TypeDependentCallee, hasAnyArgument(canResolveToExpr(Exp))), in findDirectMutation()
404 cxxUnresolvedConstructExpr(hasAnyArgument(canResolveToExpr(Exp))), in findDirectMutation()
410 parenListExpr(hasDescendant(expr(canResolveToExpr(Exp)))), in findDirectMutation()
413 initListExpr(hasAnyInit(expr(canResolveToExpr(Exp))))); in findDirectMutation()
419 const auto AsLambdaRefCaptureInit = lambdaExpr(hasCaptureInit(Exp)); in findDirectMutation()
427 returnStmt(hasReturnValue(canResolveToExpr(Exp))); in findDirectMutation()
431 allOf(canResolveToExpr(Exp), hasType(nonConstReferenceType()))))); in findDirectMutation()
446 const Stmt *ExprMutationAnalyzer::findMemberMutation(const Expr *Exp) { in findMemberMutation() argument
449 findAll(expr(anyOf(memberExpr(hasObjectExpression(canResolveToExpr(Exp))), in findMemberMutation()
451 hasObjectExpression(canResolveToExpr(Exp))), in findMemberMutation()
453 hasLHS(equalsNode(Exp))))) in findMemberMutation()
459 const Stmt *ExprMutationAnalyzer::findArrayElementMutation(const Expr *Exp) { in findArrayElementMutation() argument
463 anyOf(hasBase(canResolveToExpr(Exp)), in findArrayElementMutation()
466 hasSourceExpression(canResolveToExpr(Exp))))))) in findArrayElementMutation()
472 const Stmt *ExprMutationAnalyzer::findCastMutation(const Expr *Exp) { in findCastMutation() argument
476 match(findFirst(stmt(castExpr(hasSourceExpression(canResolveToExpr(Exp)), in findCastMutation()
487 findAll(expr(castExpr(hasSourceExpression(canResolveToExpr(Exp)), in findCastMutation()
501 hasArgument(0, canResolveToExpr(Exp))) in findCastMutation()
507 const Stmt *ExprMutationAnalyzer::findRangeLoopMutation(const Expr *Exp) { in findRangeLoopMutation() argument
523 hasRangeInit(canResolveToExpr(Exp)))) in findRangeLoopMutation()
551 hasRangeInit(canResolveToExpr(Exp))))) in findRangeLoopMutation()
565 hasRangeInit(canResolveToExpr(Exp)))), in findRangeLoopMutation()
570 const Stmt *ExprMutationAnalyzer::findReferenceMutation(const Expr *Exp) { in findReferenceMutation() argument
579 argumentCountIs(1), hasArgument(0, canResolveToExpr(Exp))) in findReferenceMutation()
590 canResolveToExpr(Exp), in findReferenceMutation()
591 memberExpr(hasObjectExpression(canResolveToExpr(Exp))))), in findReferenceMutation()
602 const Stmt *ExprMutationAnalyzer::findFunctionArgMutation(const Expr *Exp) { in findFunctionArgMutation() argument
604 canResolveToExpr(Exp), in findFunctionArgMutation()
620 const auto *Exp = Nodes.getNodeAs<Expr>(NodeID<Expr>::value); in findFunctionArgMutation() local
623 return Exp; in findFunctionArgMutation()
645 return Exp; in findFunctionArgMutation()
650 return Exp; in findFunctionArgMutation()