Lines Matching refs:Expr
49 typedef llvm::function_ref<Expr *(Expr *, unsigned)> SpecificRebuilderRefTy;
55 Expr *rebuildObjCPropertyRefExpr(ObjCPropertyRefExpr *refExpr) { in rebuildObjCPropertyRefExpr()
73 Expr *rebuildObjCSubscriptRefExpr(ObjCSubscriptRefExpr *refExpr) { in rebuildObjCSubscriptRefExpr()
84 Expr *rebuildMSPropertyRefExpr(MSPropertyRefExpr *refExpr) { in rebuildMSPropertyRefExpr()
93 Expr *rebuildMSPropertySubscriptExpr(MSPropertySubscriptExpr *refExpr) { in rebuildMSPropertySubscriptExpr()
106 Expr *rebuild(Expr *e) { in rebuild()
141 SmallVector<Expr *, 8> assocExprs; in rebuild()
148 Expr *assocExpr = assoc.getAssociationExpr(); in rebuild()
164 Expr *LHS = ce->getLHS(), *RHS = ce->getRHS(); in rebuild()
165 Expr *&rebuiltExpr = ce->isConditionTrue() ? LHS : RHS; in rebuild()
185 SmallVector<Expr *, 4> Semantics;
194 void addSemanticExpr(Expr *semantic) { in addSemanticExpr()
199 void addResultSemanticExpr(Expr *resultExpr) { in addResultSemanticExpr()
208 ExprResult buildRValueOperation(Expr *op);
212 Expr *LHS, Expr *RHS);
215 Expr *op);
217 virtual ExprResult complete(Expr *syntacticForm);
219 OpaqueValueExpr *capture(Expr *op);
220 OpaqueValueExpr *captureValueAsResult(Expr *op);
231 static bool CanCaptureValue(Expr *exp) { in CanCaptureValue()
243 virtual Expr *rebuildAndCaptureObject(Expr *) = 0;
245 virtual ExprResult buildSet(Expr *, SourceLocation,
281 ExprResult buildRValueOperation(Expr *op);
285 Expr *LHS, Expr *RHS);
288 Expr *op);
290 bool tryBuildGetOfReference(Expr *op, ExprResult &result);
295 Expr *rebuildAndCaptureObject(Expr *syntacticBase) override;
297 ExprResult buildSet(Expr *op, SourceLocation, bool) override;
298 ExprResult complete(Expr *SyntacticForm) override;
320 ExprResult buildRValueOperation(Expr *op);
324 Expr *LHS, Expr *RHS);
325 Expr *rebuildAndCaptureObject(Expr *syntacticBase) override;
331 ExprResult buildSet(Expr *op, SourceLocation, bool) override;
337 SmallVector<Expr *, 4> CallArgs;
351 Expr *rebuildAndCaptureObject(Expr *) override;
353 ExprResult buildSet(Expr *op, SourceLocation, bool) override;
359 OpaqueValueExpr *PseudoOpBuilder::capture(Expr *e) { in capture()
379 OpaqueValueExpr *PseudoOpBuilder::captureValueAsResult(Expr *e) { in captureValueAsResult()
405 ExprResult PseudoOpBuilder::complete(Expr *syntactic) { in complete()
411 ExprResult PseudoOpBuilder::buildRValueOperation(Expr *op) { in buildRValueOperation()
412 Expr *syntacticBase = rebuildAndCaptureObject(op); in buildRValueOperation()
426 Expr *LHS, Expr *RHS) { in buildAssignmentOperation()
429 Expr *syntacticLHS = rebuildAndCaptureObject(LHS); in buildAssignmentOperation()
438 Expr *semanticRHS = capturedRHS; in buildAssignmentOperation()
444 Expr *syntactic; in buildAssignmentOperation()
488 Expr *op) { in buildIncDecOperation()
491 Expr *syntacticOp = rebuildAndCaptureObject(op); in buildIncDecOperation()
508 Expr *one = IntegerLiteral::Create(S.Context, oneV, S.Context.IntTy, in buildIncDecOperation()
555 S.isSelfExpr(const_cast<Expr*>(PRE->getBase()))) { in LookupMethodInReceiverType()
700 Expr *ObjCPropertyOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) { in rebuildAndCaptureObject()
707 syntacticBase = Rebuilder(S, [=](Expr *, unsigned) -> Expr * { in rebuildAndCaptureObject() argument
753 ExprResult ObjCPropertyOpBuilder::buildSet(Expr *op, SourceLocation opcLoc, in buildSet()
790 Expr *args[] = { op }; in buildSet()
811 Expr *arg = msgExpr->getArg(0); in buildSet()
820 ExprResult ObjCPropertyOpBuilder::buildRValueOperation(Expr *op) { in buildRValueOperation()
862 bool ObjCPropertyOpBuilder::tryBuildGetOfReference(Expr *op, in tryBuildGetOfReference()
887 Expr *LHS, Expr *RHS) { in buildAssignmentOperation()
933 Expr *op) { in buildIncDecOperation()
967 ExprResult ObjCPropertyOpBuilder::complete(Expr *SyntacticForm) { in complete()
984 ExprResult ObjCSubscriptOpBuilder::buildRValueOperation(Expr *op) { in buildRValueOperation()
995 Expr *LHS, Expr *RHS) { in buildAssignmentOperation()
1019 Expr *ObjCSubscriptOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) { in rebuildAndCaptureObject()
1028 Rebuilder(S, [=](Expr *, unsigned Idx) -> Expr * { in rebuildAndCaptureObject() argument
1045 Sema::CheckSubscriptingKind(Expr *FromE) { in CheckSubscriptingKind()
1062 const Expr *IndexExpr = FromE->IgnoreParenImpCasts(); in CheckSubscriptingKind()
1119 Expr *Key) { in CheckKeyForObjCARCConversion()
1141 Expr *BaseExpr = RefExpr->getBaseExpr(); in findAtIndexGetter()
1244 Expr *BaseExpr = RefExpr->getBaseExpr(); in findAtIndexSetter()
1383 Expr *Index = InstanceKey; in buildGet()
1386 Expr *args[] = { Index }; in buildGet()
1402 ExprResult ObjCSubscriptOpBuilder::buildSet(Expr *op, SourceLocation opcLoc, in buildSet()
1409 Expr *Index = InstanceKey; in buildSet()
1412 Expr *args[] = { op, Index }; in buildSet()
1424 Expr *arg = msgExpr->getArg(0); in buildSet()
1439 Expr *Base = E->getBase()->IgnoreParens(); in getBaseMSProperty()
1447 Expr *MSPropertyOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) { in rebuildAndCaptureObject()
1449 llvm::for_each(CallArgs, [this](Expr *&Arg) { Arg = capture(Arg); }); in rebuildAndCaptureObject()
1450 syntacticBase = Rebuilder(S, [=](Expr *, unsigned Idx) -> Expr * { in rebuildAndCaptureObject() argument
1491 ExprResult MSPropertyOpBuilder::buildSet(Expr *op, SourceLocation sl, in buildSet()
1515 SmallVector<Expr*, 4> ArgExprs; in buildSet()
1527 ExprResult Sema::checkPseudoObjectRValue(Expr *E) { in checkPseudoObjectRValue()
1528 Expr *opaqueRef = E->IgnoreParens(); in checkPseudoObjectRValue()
1553 UnaryOperatorKind opcode, Expr *op) { in checkPseudoObjectIncDec()
1561 Expr *opaqueRef = op->IgnoreParens(); in checkPseudoObjectIncDec()
1584 Expr *LHS, Expr *RHS) { in checkPseudoObjectAssignment()
1599 Expr *opaqueRef = LHS->IgnoreParens(); in checkPseudoObjectAssignment()
1624 static Expr *stripOpaqueValuesFromPseudoObjectRef(Sema &S, Expr *E) { in stripOpaqueValuesFromPseudoObjectRef()
1626 [=](Expr *E, unsigned) -> Expr * { in stripOpaqueValuesFromPseudoObjectRef()
1638 Expr *Sema::recreateSyntacticForm(PseudoObjectExpr *E) { in recreateSyntacticForm()
1639 Expr *syntax = E->getSyntacticForm(); in recreateSyntacticForm()
1641 Expr *op = stripOpaqueValuesFromPseudoObjectRef(*this, uop->getSubExpr()); in recreateSyntacticForm()
1648 Expr *lhs = stripOpaqueValuesFromPseudoObjectRef(*this, cop->getLHS()); in recreateSyntacticForm()
1649 Expr *rhs = cast<OpaqueValueExpr>(cop->getRHS())->getSourceExpr(); in recreateSyntacticForm()
1657 Expr *lhs = stripOpaqueValuesFromPseudoObjectRef(*this, bop->getLHS()); in recreateSyntacticForm()
1658 Expr *rhs = cast<OpaqueValueExpr>(bop->getRHS())->getSourceExpr(); in recreateSyntacticForm()