Lines Matching refs:Expr
22 const Expr *tooling::reallyIgnoreImplicit(const Expr &E) { in reallyIgnoreImplicit()
23 const Expr *Expr = E.IgnoreImplicit(); in reallyIgnoreImplicit() local
24 if (const auto *CE = dyn_cast<CXXConstructExpr>(Expr)) { in reallyIgnoreImplicit()
26 CE->getArg(0)->getSourceRange() == Expr->getSourceRange()) in reallyIgnoreImplicit()
29 return Expr; in reallyIgnoreImplicit()
32 bool tooling::mayEverNeedParens(const Expr &E) { in mayEverNeedParens()
33 const Expr *Expr = reallyIgnoreImplicit(E); in mayEverNeedParens() local
36 if (isa<UnaryOperator>(Expr) || isa<BinaryOperator>(Expr) || in mayEverNeedParens()
37 isa<AbstractConditionalOperator>(Expr)) in mayEverNeedParens()
45 if (const auto *Op = dyn_cast<CXXOperatorCallExpr>(Expr)) in mayEverNeedParens()
52 bool tooling::needParensAfterUnaryOperator(const Expr &E) { in needParensAfterUnaryOperator()
53 const Expr *Expr = reallyIgnoreImplicit(E); in needParensAfterUnaryOperator() local
54 if (isa<BinaryOperator>(Expr) || isa<AbstractConditionalOperator>(Expr)) in needParensAfterUnaryOperator()
57 if (const auto *Op = dyn_cast<CXXOperatorCallExpr>(Expr)) in needParensAfterUnaryOperator()
75 std::optional<std::string> tooling::buildParens(const Expr &E, in buildParens()
86 tooling::buildDereference(const Expr &E, const ASTContext &Context) { in buildDereference()
106 std::optional<std::string> tooling::buildAddressOf(const Expr &E, in buildAddressOf()
132 buildAccessForValue(const Expr &E, const ASTContext &Context) { in buildAccessForValue()
136 const Expr *SubExpr = Op->getSubExpr()->IgnoreParenImpCasts(); in buildAccessForValue()
158 buildAccessForPointer(const Expr &E, const ASTContext &Context) { in buildAccessForPointer()
162 const Expr *SubExpr = Op->getSubExpr()->IgnoreParenImpCasts(); in buildAccessForPointer()
180 std::optional<std::string> tooling::buildDot(const Expr &E, in buildDot()
185 std::optional<std::string> tooling::buildArrow(const Expr &E, in buildArrow()
192 static const Expr *maybeGetOperatorObjectArg(const Expr &E, in maybeGetOperatorObjectArg()
213 std::optional<std::string> tooling::buildAccess(const Expr &RawExpression, in buildAccess()
221 const Expr *E = RawExpression.IgnoreImplicitAsWritten(); in buildAccess()