Lines Matching refs:Expr

20 const Expr *tooling::reallyIgnoreImplicit(const Expr &E) {  in reallyIgnoreImplicit()
21 const Expr *Expr = E.IgnoreImplicit(); in reallyIgnoreImplicit() local
22 if (const auto *CE = dyn_cast<CXXConstructExpr>(Expr)) { in reallyIgnoreImplicit()
24 CE->getArg(0)->getSourceRange() == Expr->getSourceRange()) in reallyIgnoreImplicit()
27 return Expr; in reallyIgnoreImplicit()
30 bool tooling::mayEverNeedParens(const Expr &E) { in mayEverNeedParens()
31 const Expr *Expr = reallyIgnoreImplicit(E); in mayEverNeedParens() local
34 if (isa<UnaryOperator>(Expr) || isa<BinaryOperator>(Expr) || in mayEverNeedParens()
35 isa<AbstractConditionalOperator>(Expr)) in mayEverNeedParens()
43 if (const auto *Op = dyn_cast<CXXOperatorCallExpr>(Expr)) in mayEverNeedParens()
50 bool tooling::needParensAfterUnaryOperator(const Expr &E) { in needParensAfterUnaryOperator()
51 const Expr *Expr = reallyIgnoreImplicit(E); in needParensAfterUnaryOperator() local
52 if (isa<BinaryOperator>(Expr) || isa<AbstractConditionalOperator>(Expr)) in needParensAfterUnaryOperator()
55 if (const auto *Op = dyn_cast<CXXOperatorCallExpr>(Expr)) in needParensAfterUnaryOperator()
63 llvm::Optional<std::string> tooling::buildParens(const Expr &E, in buildParens()
74 tooling::buildDereference(const Expr &E, const ASTContext &Context) { in buildDereference()
94 llvm::Optional<std::string> tooling::buildAddressOf(const Expr &E, in buildAddressOf()
117 llvm::Optional<std::string> tooling::buildDot(const Expr &E, in buildDot()
122 const Expr *SubExpr = Op->getSubExpr()->IgnoreParenImpCasts(); in buildDot()
141 llvm::Optional<std::string> tooling::buildArrow(const Expr &E, in buildArrow()
146 const Expr *SubExpr = Op->getSubExpr()->IgnoreParenImpCasts(); in buildArrow()