Lines Matching refs:Ctx

103   CallingContext Ctx(nullptr, D);  in translateAttrExpr()  local
108 Ctx.SelfArg = ME->getBase(); in translateAttrExpr()
109 Ctx.SelfArrow = ME->isArrow(); in translateAttrExpr()
111 Ctx.SelfArg = CE->getImplicitObjectArgument(); in translateAttrExpr()
112 Ctx.SelfArrow = isCalleeArrow(CE->getCallee()); in translateAttrExpr()
113 Ctx.NumArgs = CE->getNumArgs(); in translateAttrExpr()
114 Ctx.FunArgs = CE->getArgs(); in translateAttrExpr()
116 Ctx.NumArgs = CE->getNumArgs(); in translateAttrExpr()
117 Ctx.FunArgs = CE->getArgs(); in translateAttrExpr()
119 Ctx.SelfArg = nullptr; // Will be set below in translateAttrExpr()
120 Ctx.NumArgs = CE->getNumArgs(); in translateAttrExpr()
121 Ctx.FunArgs = CE->getArgs(); in translateAttrExpr()
124 Ctx.SelfArg = DeclExp; in translateAttrExpr()
129 if (SelfDecl && !Ctx.SelfArg) { in translateAttrExpr()
133 Ctx.SelfArg = &SelfDRE; in translateAttrExpr()
137 return translateAttrExpr(Ctx.SelfArg, nullptr); in translateAttrExpr()
139 return translateAttrExpr(AttrExp, &Ctx); in translateAttrExpr()
144 return translateAttrExpr(Ctx.SelfArg, nullptr); in translateAttrExpr()
146 return translateAttrExpr(AttrExp, &Ctx); in translateAttrExpr()
152 CallingContext *Ctx) { in translateAttrExpr() argument
180 til::SExpr *E = translate(AttrExp, Ctx); in translateAttrExpr()
198 til::SExpr *SExprBuilder::translate(const Stmt *S, CallingContext *Ctx) { in translate() argument
209 return translateDeclRefExpr(cast<DeclRefExpr>(S), Ctx); in translate()
211 return translateCXXThisExpr(cast<CXXThisExpr>(S), Ctx); in translate()
213 return translateMemberExpr(cast<MemberExpr>(S), Ctx); in translate()
215 return translateObjCIVarRefExpr(cast<ObjCIvarRefExpr>(S), Ctx); in translate()
217 return translateCallExpr(cast<CallExpr>(S), Ctx); in translate()
219 return translateCXXMemberCallExpr(cast<CXXMemberCallExpr>(S), Ctx); in translate()
221 return translateCXXOperatorCallExpr(cast<CXXOperatorCallExpr>(S), Ctx); in translate()
223 return translateUnaryOperator(cast<UnaryOperator>(S), Ctx); in translate()
226 return translateBinaryOperator(cast<BinaryOperator>(S), Ctx); in translate()
229 return translateArraySubscriptExpr(cast<ArraySubscriptExpr>(S), Ctx); in translate()
232 cast<ConditionalOperator>(S), Ctx); in translate()
235 cast<BinaryConditionalOperator>(S), Ctx); in translate()
239 return translate(cast<ConstantExpr>(S)->getSubExpr(), Ctx); in translate()
241 return translate(cast<ParenExpr>(S)->getSubExpr(), Ctx); in translate()
243 return translate(cast<ExprWithCleanups>(S)->getSubExpr(), Ctx); in translate()
245 return translate(cast<CXXBindTemporaryExpr>(S)->getSubExpr(), Ctx); in translate()
247 return translate(cast<MaterializeTemporaryExpr>(S)->getSubExpr(), Ctx); in translate()
262 return translateDeclStmt(cast<DeclStmt>(S), Ctx); in translate()
267 return translateCastExpr(CE, Ctx); in translate()
273 CallingContext *Ctx) { in translateDeclRefExpr() argument
280 if (Ctx && Ctx->FunArgs) { in translateDeclRefExpr()
281 const Decl *Canonical = Ctx->AttrDecl->getCanonicalDecl(); in translateDeclRefExpr()
286 assert(I < Ctx->NumArgs); in translateDeclRefExpr()
287 return translate(Ctx->FunArgs[I], Ctx->Prev); in translateDeclRefExpr()
302 CallingContext *Ctx) { in translateCXXThisExpr() argument
304 if (Ctx && Ctx->SelfArg) in translateCXXThisExpr()
305 return translate(Ctx->SelfArg, Ctx->Prev); in translateCXXThisExpr()
346 CallingContext *Ctx) { in translateMemberExpr() argument
347 til::SExpr *BE = translate(ME->getBase(), Ctx); in translateMemberExpr()
361 CallingContext *Ctx) { in translateObjCIVarRefExpr() argument
362 til::SExpr *BE = translate(IVRE->getBase(), Ctx); in translateObjCIVarRefExpr()
374 CallingContext *Ctx, in translateCallExpr() argument
381 CallingContext LRCallCtx(Ctx); in translateCallExpr()
392 til::SExpr *E = translate(CE->getCallee(), Ctx); in translateCallExpr()
394 til::SExpr *A = translate(Arg, Ctx); in translateCallExpr()
401 const CXXMemberCallExpr *ME, CallingContext *Ctx) { in translateCXXMemberCallExpr() argument
406 auto *E = translate(ME->getImplicitObjectArgument(), Ctx); in translateCXXMemberCallExpr()
411 return translateCallExpr(cast<CallExpr>(ME), Ctx, in translateCXXMemberCallExpr()
416 const CXXOperatorCallExpr *OCE, CallingContext *Ctx) { in translateCXXOperatorCallExpr() argument
421 auto *E = translate(OCE->getArg(0), Ctx); in translateCXXOperatorCallExpr()
426 return translateCallExpr(cast<CallExpr>(OCE), Ctx); in translateCXXOperatorCallExpr()
430 CallingContext *Ctx) { in translateUnaryOperator() argument
451 return translate(UO->getSubExpr(), Ctx); in translateUnaryOperator()
456 return translate(UO->getSubExpr(), Ctx); in translateUnaryOperator()
460 til::UnaryOp(til::UOP_Minus, translate(UO->getSubExpr(), Ctx)); in translateUnaryOperator()
463 til::UnaryOp(til::UOP_BitNot, translate(UO->getSubExpr(), Ctx)); in translateUnaryOperator()
466 til::UnaryOp(til::UOP_LogicNot, translate(UO->getSubExpr(), Ctx)); in translateUnaryOperator()
480 CallingContext *Ctx, bool Reverse) { in translateBinOp() argument
481 til::SExpr *E0 = translate(BO->getLHS(), Ctx); in translateBinOp()
482 til::SExpr *E1 = translate(BO->getRHS(), Ctx); in translateBinOp()
491 CallingContext *Ctx, in translateBinAssign() argument
495 til::SExpr *E0 = translate(LHS, Ctx); in translateBinAssign()
496 til::SExpr *E1 = translate(RHS, Ctx); in translateBinAssign()
516 CallingContext *Ctx) { in translateBinaryOperator() argument
522 case BO_Mul: return translateBinOp(til::BOP_Mul, BO, Ctx); in translateBinaryOperator()
523 case BO_Div: return translateBinOp(til::BOP_Div, BO, Ctx); in translateBinaryOperator()
524 case BO_Rem: return translateBinOp(til::BOP_Rem, BO, Ctx); in translateBinaryOperator()
525 case BO_Add: return translateBinOp(til::BOP_Add, BO, Ctx); in translateBinaryOperator()
526 case BO_Sub: return translateBinOp(til::BOP_Sub, BO, Ctx); in translateBinaryOperator()
527 case BO_Shl: return translateBinOp(til::BOP_Shl, BO, Ctx); in translateBinaryOperator()
528 case BO_Shr: return translateBinOp(til::BOP_Shr, BO, Ctx); in translateBinaryOperator()
529 case BO_LT: return translateBinOp(til::BOP_Lt, BO, Ctx); in translateBinaryOperator()
530 case BO_GT: return translateBinOp(til::BOP_Lt, BO, Ctx, true); in translateBinaryOperator()
531 case BO_LE: return translateBinOp(til::BOP_Leq, BO, Ctx); in translateBinaryOperator()
532 case BO_GE: return translateBinOp(til::BOP_Leq, BO, Ctx, true); in translateBinaryOperator()
533 case BO_EQ: return translateBinOp(til::BOP_Eq, BO, Ctx); in translateBinaryOperator()
534 case BO_NE: return translateBinOp(til::BOP_Neq, BO, Ctx); in translateBinaryOperator()
535 case BO_Cmp: return translateBinOp(til::BOP_Cmp, BO, Ctx); in translateBinaryOperator()
536 case BO_And: return translateBinOp(til::BOP_BitAnd, BO, Ctx); in translateBinaryOperator()
537 case BO_Xor: return translateBinOp(til::BOP_BitXor, BO, Ctx); in translateBinaryOperator()
538 case BO_Or: return translateBinOp(til::BOP_BitOr, BO, Ctx); in translateBinaryOperator()
539 case BO_LAnd: return translateBinOp(til::BOP_LogicAnd, BO, Ctx); in translateBinaryOperator()
540 case BO_LOr: return translateBinOp(til::BOP_LogicOr, BO, Ctx); in translateBinaryOperator()
542 case BO_Assign: return translateBinAssign(til::BOP_Eq, BO, Ctx, true); in translateBinaryOperator()
543 case BO_MulAssign: return translateBinAssign(til::BOP_Mul, BO, Ctx); in translateBinaryOperator()
544 case BO_DivAssign: return translateBinAssign(til::BOP_Div, BO, Ctx); in translateBinaryOperator()
545 case BO_RemAssign: return translateBinAssign(til::BOP_Rem, BO, Ctx); in translateBinaryOperator()
546 case BO_AddAssign: return translateBinAssign(til::BOP_Add, BO, Ctx); in translateBinaryOperator()
547 case BO_SubAssign: return translateBinAssign(til::BOP_Sub, BO, Ctx); in translateBinaryOperator()
548 case BO_ShlAssign: return translateBinAssign(til::BOP_Shl, BO, Ctx); in translateBinaryOperator()
549 case BO_ShrAssign: return translateBinAssign(til::BOP_Shr, BO, Ctx); in translateBinaryOperator()
550 case BO_AndAssign: return translateBinAssign(til::BOP_BitAnd, BO, Ctx); in translateBinaryOperator()
551 case BO_XorAssign: return translateBinAssign(til::BOP_BitXor, BO, Ctx); in translateBinaryOperator()
552 case BO_OrAssign: return translateBinAssign(til::BOP_BitOr, BO, Ctx); in translateBinaryOperator()
556 return translate(BO->getRHS(), Ctx); in translateBinaryOperator()
562 CallingContext *Ctx) { in translateCastExpr() argument
571 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
581 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
586 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
596 CallingContext *Ctx) { in translateArraySubscriptExpr() argument
597 til::SExpr *E0 = translate(E->getBase(), Ctx); in translateArraySubscriptExpr()
598 til::SExpr *E1 = translate(E->getIdx(), Ctx); in translateArraySubscriptExpr()
604 const AbstractConditionalOperator *CO, CallingContext *Ctx) { in translateAbstractConditionalOperator() argument
605 auto *C = translate(CO->getCond(), Ctx); in translateAbstractConditionalOperator()
606 auto *T = translate(CO->getTrueExpr(), Ctx); in translateAbstractConditionalOperator()
607 auto *E = translate(CO->getFalseExpr(), Ctx); in translateAbstractConditionalOperator()
612 SExprBuilder::translateDeclStmt(const DeclStmt *S, CallingContext *Ctx) { in translateDeclStmt() argument
617 til::SExpr* SE = translate(E, Ctx); in translateDeclStmt()