Home | History | Annotate | Download | only in Sema

Lines Matching refs:Expr

21 #include "clang/AST/Expr.h"
133 static inline ExprResult Owned(Expr *E) { return E; }
212 bool DropCallArgument(Expr *E) {
360 ExprResult TransformExpr(Expr *E);
369 ExprResult TransformInitializer(Expr *Init, bool NotCopyInit);
394 bool TransformExprs(Expr *const *Inputs, unsigned NumInputs, bool IsCall,
395 SmallVectorImpl<Expr *> &Outputs,
418 Expr *Expr,
642 ExprResult TransformAddressOfOperand(Expr *E);
659 #define EXPR(Node, Parent) \
733 Expr *SizeExpr,
765 Expr *SizeExpr,
776 Expr *SizeExpr,
802 Expr *SizeExpr,
835 /// \brief Build a new typeof(expr) type.
839 QualType RebuildTypeOfExprType(Expr *Underlying, SourceLocation Loc);
855 QualType RebuildDecltypeType(Expr *Underlying, SourceLocation Loc);
1125 Expr *LHS,
1127 Expr *RHS,
1216 Expr *Cond, SourceLocation RParenLoc) {
1248 Expr *Target) {
1256 StmtResult RebuildReturnStmt(SourceLocation ReturnLoc, Expr *Result) {
1278 Expr *AsmString, MultiExprArg Clobbers,
1295 ArrayRef<Expr*> Exprs,
1306 StmtResult RebuildCoreturnStmt(SourceLocation CoreturnLoc, Expr *Result) {
1314 ExprResult RebuildCoawaitExpr(SourceLocation CoawaitLoc, Expr *Result) {
1322 ExprResult RebuildCoyieldExpr(SourceLocation CoyieldLoc, Expr *Result) {
1376 Expr *Operand) {
1399 Expr *Condition, SourceLocation StartLoc,
1413 OMPClause *RebuildOMPFinalClause(Expr *Condition, SourceLocation StartLoc,
1424 OMPClause *RebuildOMPNumThreadsClause(Expr *NumThreads,
1436 OMPClause *RebuildOMPSafelenClause(Expr *Len, SourceLocation StartLoc,
1446 OMPClause *RebuildOMPSimdlenClause(Expr *Len, SourceLocation StartLoc,
1456 OMPClause *RebuildOMPCollapseClause(Expr *Num, SourceLocation StartLoc,
1495 OpenMPScheduleClauseKind Kind, Expr *ChunkSize, SourceLocation StartLoc,
1509 SourceLocation LParenLoc, Expr *Num) {
1517 OMPClause *RebuildOMPPrivateClause(ArrayRef<Expr *> VarList,
1529 OMPClause *RebuildOMPFirstprivateClause(ArrayRef<Expr *> VarList,
1541 OMPClause *RebuildOMPLastprivateClause(ArrayRef<Expr *> VarList,
1553 OMPClause *RebuildOMPSharedClause(ArrayRef<Expr *> VarList,
1565 OMPClause *RebuildOMPReductionClause(ArrayRef<Expr *> VarList,
1572 ArrayRef<Expr *> UnresolvedReductions) {
1582 OMPClause *RebuildOMPLinearClause(ArrayRef<Expr *> VarList, Expr *Step,
1598 OMPClause *RebuildOMPAlignedClause(ArrayRef<Expr *> VarList, Expr *Alignment,
1611 OMPClause *RebuildOMPCopyinClause(ArrayRef<Expr *> VarList,
1623 OMPClause *RebuildOMPCopyprivateClause(ArrayRef<Expr *> VarList,
1635 OMPClause *RebuildOMPFlushClause(ArrayRef<Expr *> VarList,
1649 SourceLocation ColonLoc, ArrayRef<Expr *> VarList,
1660 OMPClause *RebuildOMPDeviceClause(Expr *Device, SourceLocation StartLoc,
1675 ArrayRef<Expr *> VarList, SourceLocation StartLoc,
1686 OMPClause *RebuildOMPNumTeamsClause(Expr *NumTeams, SourceLocation StartLoc,
1697 OMPClause *RebuildOMPThreadLimitClause(Expr *ThreadLimit,
1709 OMPClause *RebuildOMPPriorityClause(Expr *Priority, SourceLocation StartLoc,
1720 OMPClause *RebuildOMPGrainsizeClause(Expr *Grainsize, SourceLocation StartLoc,
1731 OMPClause *RebuildOMPNumTasksClause(Expr *NumTasks, SourceLocation StartLoc,
1742 OMPClause *RebuildOMPHintClause(Expr *Hint, SourceLocation StartLoc,
1754 Expr *ChunkSize, SourceLocation StartLoc,
1765 OMPClause *RebuildOMPToClause(ArrayRef<Expr *> VarList,
1776 Expr *> VarList,
1788 OMPClause *RebuildOMPUseDevicePtrClause(ArrayRef<Expr *> VarList,
1800 OMPClause *RebuildOMPIsDevicePtrClause(ArrayRef<Expr *> VarList,
1813 Expr *object) {
1822 Expr *Object, Stmt *Body) {
1841 Expr *Collection,
1898 Expr *Cond, Expr *Inc,
1909 Expr *RangeExpr = RangeVar->getInit();
1950 StmtResult RebuildSEHExceptStmt(SourceLocation Loc, Expr *FilterExpr,
1999 ExprResult RebuildParenExpr(Expr *SubExpr, SourceLocation LParen,
2008 ExprResult RebuildCXXPseudoDestructorExpr(Expr *Base,
2023 Expr *SubExpr) {
2056 ExprResult RebuildUnaryExprOrTypeTrait(Expr *SubExpr, SourceLocation OpLoc,
2071 ExprResult RebuildArraySubscriptExpr(Expr *LHS,
2073 Expr *RHS,
2084 ExprResult RebuildOMPArraySectionExpr(Expr *Base, SourceLocation LBracketLoc,
2085 Expr *LowerBound,
2086 SourceLocation ColonLoc, Expr *Length,
2096 ExprResult RebuildCallExpr(Expr *Callee, SourceLocation LParenLoc,
2099 Expr *ExecConfig = nullptr) {
2108 ExprResult RebuildMemberExpr(Expr *Base, SourceLocation OpLoc,
2166 Expr *LHS, Expr *RHS) {
2174 ExprResult RebuildConditionalOperator(Expr *Cond,
2176 Expr *LHS,
2178 Expr *RHS) {
2190 Expr *SubExpr) {
2202 Expr *Init) {
2211 ExprResult RebuildExtVectorElementExpr(Expr *Base,
2242 InitListExpr *ILE = cast<InitListExpr>((Expr *)Result.get());
2255 Expr *Init) {
2279 Expr *SubExpr, TypeSourceInfo *TInfo,
2321 Expr *Cond, Expr *LHS, Expr *RHS,
2335 Expr *ControllingExpr,
2337 ArrayRef<Expr *> Exprs) {
2352 Expr *Callee,
2353 Expr *First,
2354 Expr *Second);
2368 Expr *SubExpr,
2406 Expr *SubExpr,
2423 Expr *SubExpr,
2440 Expr *SubExpr,
2457 Expr *SubExpr,
2471 Expr *Sub,
2491 /// \brief Build a new C++ typeid(expr) expression.
2497 Expr *Operand,
2515 /// \brief Build a new C++ __uuidof(expr) expression.
2521 Expr *Operand,
2543 ExprResult RebuildCXXThrowExpr(SourceLocation ThrowLoc, Expr *Sub,
2591 Expr *ArraySize,
2593 Expr *Initializer) {
2613 Expr *Operand) {
2636 Expr *DimExpr,
2647 Expr *Queried,
2703 SmallVector<Expr*, 8> ConvertedArgs;
2760 ExprResult RebuildCXXDependentScopeMemberExpr(Expr *BaseE,
2784 Expr *BaseE, QualType BaseType,
2806 ExprResult RebuildCXXNoexceptExpr(SourceRange Range, Expr *Arg) {
2825 ExprResult RebuildObjCBoxedExpr(SourceRange SR, Expr *ValueExpr) {
2834 Expr **Elements, unsigned NumElements) {
2840 Expr *Base, Expr *Key,
2882 ExprResult RebuildObjCMessageExpr(Expr *Receiver,
2923 ExprResult RebuildObjCIvarRefExpr(Expr *BaseArg, ObjCIvarDecl *Ivar,
2942 ExprResult RebuildObjCPropertyRefExpr(Expr *BaseArg,
2961 ExprResult RebuildObjCPropertyRefExpr(Expr *Base, QualType T,
2977 ExprResult RebuildObjCIsaExpr(Expr *BaseArg, SourceLocation IsaLoc,
3006 Expr *Callee = new (SemaRef.Context) DeclRefExpr(Builtin, false,
3016 Expr::getValueKindForType(Builtin->getReturnType()), RParenLoc);
3024 Expr *SrcExpr, TypeSourceInfo *DstTInfo,
3083 ExprResult RebuildPackExpansion(Expr *Pattern, SourceLocation EllipsisLoc,
3092 ExprResult RebuildCXXFoldExpr(SourceLocation LParenLoc, Expr *LHS,
3094 SourceLocation EllipsisLoc, Expr *RHS,
3153 #define EXPR(Node, Parent)
3159 #define EXPR(Node, Parent) case Stmt::Node##Class:
3162 ExprResult E = getDerived().TransformExpr(cast<Expr>(S));
3192 ExprResult TreeTransform<Derived>::TransformExpr(Expr *E) {
3200 #define EXPR(Node, Parent) \
3209 ExprResult TreeTransform<Derived>::TransformInitializer(Expr *Init,
3261 SmallVector<Expr*, 8> NewArgs;
3287 bool TreeTransform<Derived>::TransformExprs(Expr *const *Inputs,
3290 SmallVectorImpl<Expr *> &Outputs,
3302 Expr *Pattern = Expansion->getPattern();
3401 SourceLocation Loc, VarDecl *Var, Expr *Expr, Sema::ConditionKind Kind) {
3412 if (Expr) {
3413 ExprResult CondExpr = getDerived().TransformExpr(Expr);
3776 Expr *InputExpr = Input.getSourceExpression();
4425 Expr *Size = TL.getSizeExpr();
4429 Size = getDerived().TransformExpr(Size).template getAs<Expr>();
4479 Expr *Size = SizeResult.get();
4518 Expr *origSize = TL.getSizeExpr();
4527 Expr *size = sizeResult.get();
4958 // C++11 [expr.prim.general]p3:
6521 SmallVector<Expr*, 8> Constraints;
6522 SmallVector<Expr*, 8> Exprs;
6526 SmallVector<Expr*, 8> Clobbers;
6537 // Transform the output expr.
6538 Expr *OutputExpr = S->getOutputExpr(I);
6555 // Transform the input expr.
6556 Expr *InputExpr = S->getInputExpr(I);
6590 ArrayRef<Expr*> SrcExprs = S->getAllExprs();
6591 SmallVector<Expr*, 8> TransformedExprs;
7810 llvm::SmallVector<Expr *, 16> Vars;
7813 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7825 llvm::SmallVector<Expr *, 16> Vars;
7828 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7840 llvm::SmallVector<Expr *, 16> Vars;
7843 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7855 llvm::SmallVector<Expr *, 16> Vars;
7858 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7870 llvm::SmallVector<Expr *, 16> Vars;
7873 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7889 llvm::SmallVector<Expr *, 16> UnresolvedReductions;
7917 llvm::SmallVector<Expr *, 16> Vars;
7920 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7936 llvm::SmallVector<Expr *, 16> Vars;
7939 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7955 llvm::SmallVector<Expr *, 16> Vars;
7958 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7970 llvm::SmallVector<Expr *, 16> Vars;
7973 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7984 llvm::SmallVector<Expr *, 16> Vars;
7987 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
7999 llvm::SmallVector<Expr *, 16> Vars;
8002 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
8024 llvm::SmallVector<Expr *, 16> Vars;
8027 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
8116 llvm::SmallVector<Expr *, 16> Vars;
8119 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
8130 llvm::SmallVector<Expr *, 16> Vars;
8133 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
8145 llvm::SmallVector<Expr *, 16> Vars;
8148 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
8160 llvm::SmallVector<Expr *, 16> Vars;
8163 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
8283 SmallVector<Expr *, 4> AssocExprs;
8329 TreeTransform<Derived>::TransformAddressOfOperand(Expr *E) {
8380 Expr *FromIndex = E->getIndexExpr(ON.getArrayExprIndex());
8442 Expr *newSyntacticForm = SemaRef.recreateSyntacticForm(E);
8474 // C++0x [expr.sizeof]p1:
8570 SmallVector<Expr*, 8> Args;
8582 = ((Expr *)Callee.get())->getSourceRange().getBegin();
8835 SmallVector<Expr*, 4> Inits;
8862 SmallVector<Expr*, 4> ArrayExprs;
8979 SmallVector<Expr*, 4> Inits;
9082 static_cast<Expr *>(Object.get())->getLocEnd());
9085 SmallVector<Expr*, 8> Args;
9167 SmallVector<Expr*, 8> Args;
9179 = ((Expr *)Callee.get())->getSourceRange().getBegin();
9438 SmallVector<Expr*, 8> PlacementArgs;
9445 Expr *OldInit = E->getInitializer();
9947 // We got an expr, wrap it up in parens.
10033 SmallVector<Expr*, 8> Args;
10122 SmallVector<Expr*, 8> Args;
10166 Expr *NewExprInit = NewExprInitResult.get();
10400 SmallVector<Expr*, 8> Args;
10423 ExprResult Base((Expr*) nullptr);
10424 Expr *OldBase;
10445 BaseType = ((Expr*) Base.get())->getType();
10523 ExprResult Base((Expr*) nullptr);
10772 Expr *Pattern = E->getPattern();
10928 SmallVector<Expr *, 8> Elements;
11120 SmallVector<Expr*, 8> Args;
11299 SmallVector<Expr*, 8> SubExprs;
11424 SmallVector<Expr*, 8> SubExprs;
11504 Expr *SizeExpr,
11560 Expr *SizeExpr,
11572 Expr *SizeExpr,
11603 Expr *SizeExpr,
11650 QualType TreeTransform<Derived>::RebuildTypeOfExprType(Expr *E,
11661 QualType TreeTransform<Derived>::RebuildDecltypeType(Expr *E,
11745 Expr *OrigCallee,
11746 Expr *First,
11747 Expr *Second) {
11748 Expr *Callee = OrigCallee->IgnoreParenCasts();
11820 Expr *Args[2] = { First, Second };
11861 TreeTransform<Derived>::RebuildCXXPseudoDestructorExpr(Expr *Base,