Lines Matching refs:Expr
50 typedef llvm::function_ref<Expr *(Expr *, unsigned)> SpecificRebuilderRefTy;
56 Expr *rebuildObjCPropertyRefExpr(ObjCPropertyRefExpr *refExpr) { in rebuildObjCPropertyRefExpr()
74 Expr *rebuildObjCSubscriptRefExpr(ObjCSubscriptRefExpr *refExpr) { in rebuildObjCSubscriptRefExpr()
85 Expr *rebuildMSPropertyRefExpr(MSPropertyRefExpr *refExpr) { in rebuildMSPropertyRefExpr()
94 Expr *rebuildMSPropertySubscriptExpr(MSPropertySubscriptExpr *refExpr) { in rebuildMSPropertySubscriptExpr()
107 Expr *rebuild(Expr *e) { in rebuild()
144 SmallVector<Expr*, 8> assocs(numAssocs); in rebuild()
148 Expr *assoc = gse->getAssocExpr(i); in rebuild()
168 Expr *LHS = ce->getLHS(), *RHS = ce->getRHS(); in rebuild()
169 Expr *&rebuiltExpr = ce->isConditionTrue() ? LHS : RHS; in rebuild()
194 SmallVector<Expr *, 4> Semantics;
203 void addSemanticExpr(Expr *semantic) { in addSemanticExpr()
208 void addResultSemanticExpr(Expr *resultExpr) { in addResultSemanticExpr()
217 ExprResult buildRValueOperation(Expr *op);
221 Expr *LHS, Expr *RHS);
224 Expr *op);
226 virtual ExprResult complete(Expr *syntacticForm);
228 OpaqueValueExpr *capture(Expr *op);
229 OpaqueValueExpr *captureValueAsResult(Expr *op);
240 static bool CanCaptureValue(Expr *exp) { in CanCaptureValue()
252 virtual Expr *rebuildAndCaptureObject(Expr *) = 0;
254 virtual ExprResult buildSet(Expr *, SourceLocation,
290 ExprResult buildRValueOperation(Expr *op);
294 Expr *LHS, Expr *RHS);
297 Expr *op);
299 bool tryBuildGetOfReference(Expr *op, ExprResult &result);
304 Expr *rebuildAndCaptureObject(Expr *syntacticBase) override;
306 ExprResult buildSet(Expr *op, SourceLocation, bool) override;
307 ExprResult complete(Expr *SyntacticForm) override;
329 ExprResult buildRValueOperation(Expr *op);
333 Expr *LHS, Expr *RHS);
334 Expr *rebuildAndCaptureObject(Expr *syntacticBase) override;
340 ExprResult buildSet(Expr *op, SourceLocation, bool) override;
346 SmallVector<Expr *, 4> CallArgs;
360 Expr *rebuildAndCaptureObject(Expr *) override;
362 ExprResult buildSet(Expr *op, SourceLocation, bool) override;
368 OpaqueValueExpr *PseudoOpBuilder::capture(Expr *e) { in capture()
388 OpaqueValueExpr *PseudoOpBuilder::captureValueAsResult(Expr *e) { in captureValueAsResult()
414 ExprResult PseudoOpBuilder::complete(Expr *syntactic) { in complete()
420 ExprResult PseudoOpBuilder::buildRValueOperation(Expr *op) { in buildRValueOperation()
421 Expr *syntacticBase = rebuildAndCaptureObject(op); in buildRValueOperation()
435 Expr *LHS, Expr *RHS) { in buildAssignmentOperation()
438 Expr *syntacticLHS = rebuildAndCaptureObject(LHS); in buildAssignmentOperation()
447 Expr *semanticRHS = capturedRHS; in buildAssignmentOperation()
453 Expr *syntactic; in buildAssignmentOperation()
500 Expr *op) { in buildIncDecOperation()
503 Expr *syntacticOp = rebuildAndCaptureObject(op); in buildIncDecOperation()
520 Expr *one = IntegerLiteral::Create(S.Context, oneV, S.Context.IntTy, in buildIncDecOperation()
565 S.isSelfExpr(const_cast<Expr*>(PRE->getBase()))) { in LookupMethodInReceiverType()
710 Expr *ObjCPropertyOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) { in rebuildAndCaptureObject()
717 syntacticBase = Rebuilder(S, [=](Expr *, unsigned) -> Expr * { in rebuildAndCaptureObject() argument
763 ExprResult ObjCPropertyOpBuilder::buildSet(Expr *op, SourceLocation opcLoc, in buildSet()
800 Expr *args[] = { op }; in buildSet()
821 Expr *arg = msgExpr->getArg(0); in buildSet()
830 ExprResult ObjCPropertyOpBuilder::buildRValueOperation(Expr *op) { in buildRValueOperation()
872 bool ObjCPropertyOpBuilder::tryBuildGetOfReference(Expr *op, in tryBuildGetOfReference()
897 Expr *LHS, Expr *RHS) { in buildAssignmentOperation()
943 Expr *op) { in buildIncDecOperation()
977 ExprResult ObjCPropertyOpBuilder::complete(Expr *SyntacticForm) { in complete()
994 ExprResult ObjCSubscriptOpBuilder::buildRValueOperation(Expr *op) { in buildRValueOperation()
1005 Expr *LHS, Expr *RHS) { in buildAssignmentOperation()
1029 Expr *ObjCSubscriptOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) { in rebuildAndCaptureObject()
1038 Rebuilder(S, [=](Expr *, unsigned Idx) -> Expr * { in rebuildAndCaptureObject() argument
1055 Sema::CheckSubscriptingKind(Expr *FromE) { in CheckSubscriptingKind()
1072 const Expr *IndexExpr = FromE->IgnoreParenImpCasts(); in CheckSubscriptingKind()
1129 Expr *Key) { in CheckKeyForObjCARCConversion()
1151 Expr *BaseExpr = RefExpr->getBaseExpr(); in findAtIndexGetter()
1255 Expr *BaseExpr = RefExpr->getBaseExpr(); in findAtIndexSetter()
1393 Expr *Index = InstanceKey; in buildGet()
1396 Expr *args[] = { Index }; in buildGet()
1412 ExprResult ObjCSubscriptOpBuilder::buildSet(Expr *op, SourceLocation opcLoc, in buildSet()
1419 Expr *Index = InstanceKey; in buildSet()
1422 Expr *args[] = { op, Index }; in buildSet()
1434 Expr *arg = msgExpr->getArg(0); in buildSet()
1449 Expr *Base = E->getBase()->IgnoreParens(); in getBaseMSProperty()
1457 Expr *MSPropertyOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) { in rebuildAndCaptureObject()
1459 llvm::for_each(CallArgs, [this](Expr *&Arg) { Arg = capture(Arg); }); in rebuildAndCaptureObject()
1460 syntacticBase = Rebuilder(S, [=](Expr *, unsigned Idx) -> Expr * { in rebuildAndCaptureObject() argument
1501 ExprResult MSPropertyOpBuilder::buildSet(Expr *op, SourceLocation sl, in buildSet()
1525 SmallVector<Expr*, 4> ArgExprs; in buildSet()
1537 ExprResult Sema::checkPseudoObjectRValue(Expr *E) { in checkPseudoObjectRValue()
1538 Expr *opaqueRef = E->IgnoreParens(); in checkPseudoObjectRValue()
1563 UnaryOperatorKind opcode, Expr *op) { in checkPseudoObjectIncDec()
1570 Expr *opaqueRef = op->IgnoreParens(); in checkPseudoObjectIncDec()
1593 Expr *LHS, Expr *RHS) { in checkPseudoObjectAssignment()
1608 Expr *opaqueRef = LHS->IgnoreParens(); in checkPseudoObjectAssignment()
1633 static Expr *stripOpaqueValuesFromPseudoObjectRef(Sema &S, Expr *E) { in stripOpaqueValuesFromPseudoObjectRef()
1635 [=](Expr *E, unsigned) -> Expr * { in stripOpaqueValuesFromPseudoObjectRef()
1647 Expr *Sema::recreateSyntacticForm(PseudoObjectExpr *E) { in recreateSyntacticForm()
1648 Expr *syntax = E->getSyntacticForm(); in recreateSyntacticForm()
1650 Expr *op = stripOpaqueValuesFromPseudoObjectRef(*this, uop->getSubExpr()); in recreateSyntacticForm()
1656 Expr *lhs = stripOpaqueValuesFromPseudoObjectRef(*this, cop->getLHS()); in recreateSyntacticForm()
1657 Expr *rhs = cast<OpaqueValueExpr>(cop->getRHS())->getSourceExpr(); in recreateSyntacticForm()
1667 Expr *lhs = stripOpaqueValuesFromPseudoObjectRef(*this, bop->getLHS()); in recreateSyntacticForm()
1668 Expr *rhs = cast<OpaqueValueExpr>(bop->getRHS())->getSourceExpr(); in recreateSyntacticForm()