Lines Matching refs:Expr

18 #include "clang/AST/Expr.h"
29 class ObjCStringLiteral : public Expr {
34 : Expr(ObjCStringLiteralClass, T, VK_RValue, OK_Ordinary, false, false,
38 : Expr(ObjCStringLiteralClass, Empty) {}
62 class ObjCBoolLiteralExpr : public Expr {
67 Expr(ObjCBoolLiteralExprClass, Ty, VK_RValue, OK_Ordinary, false, false,
71 : Expr(ObjCBoolLiteralExprClass, Empty) { }
94 class ObjCBoxedExpr : public Expr {
99 ObjCBoxedExpr(Expr *E, QualType T, ObjCMethodDecl *method,
101 : Expr(ObjCBoxedExprClass, T, VK_RValue, OK_Ordinary,
106 : Expr(ObjCBoxedExprClass, Empty) {}
108 Expr *getSubExpr() { return cast<Expr>(SubExpr); }
109 const Expr *getSubExpr() const { return cast<Expr>(SubExpr); }
134 class ObjCArrayLiteral : public Expr {
139 ObjCArrayLiteral(llvm::ArrayRef<Expr *> Elements,
144 : Expr(ObjCArrayLiteralClass, Empty), NumElements(NumElements) {}
148 llvm::ArrayRef<Expr *> Elements,
162 Expr **getElements() { return reinterpret_cast<Expr **>(this + 1); }
165 const Expr * const *getElements() const {
166 return reinterpret_cast<const Expr * const*>(this + 1);
172 /// getExpr - Return the Expr at the specified index.
173 Expr *getElement(unsigned Index) {
175 return cast<Expr>(getElements()[Index]);
177 const Expr *getElement(unsigned Index) const {
179 return cast<Expr>(getElements()[Index]);
199 Expr *Key;
202 Expr *Value;
217 class ObjCDictionaryLiteral : public Expr {
222 Expr *Key;
223 Expr *Value;
260 : Expr(ObjCDictionaryLiteralClass, Empty), NumElements(NumElements),
340 class ObjCEncodeExpr : public Expr {
346 : Expr(ObjCEncodeExprClass, T, VK_LValue, OK_Ordinary,
353 explicit ObjCEncodeExpr(EmptyShell Empty) : Expr(ObjCEncodeExprClass, Empty){}
382 class ObjCSelectorExpr : public Expr {
388 : Expr(ObjCSelectorExprClass, T, VK_RValue, OK_Ordinary, false, false,
392 : Expr(ObjCSelectorExprClass, Empty) {}
422 class ObjCProtocolExpr : public Expr {
428 : Expr(ObjCProtocolExprClass, T, VK_RValue, OK_Ordinary, false, false,
432 : Expr(ObjCProtocolExprClass, Empty) {}
456 class ObjCIvarRefExpr : public Expr {
465 SourceLocation l, Expr *base,
467 Expr(ObjCIvarRefExprClass, t, VK_LValue, OK_Ordinary,
474 : Expr(ObjCIvarRefExprClass, Empty) {}
480 const Expr *getBase() const { return cast<Expr>(Base); }
481 Expr *getBase() { return cast<Expr>(Base); }
482 void setBase(Expr * base) { Base = base; }
508 class ObjCPropertyRefExpr : public Expr {
544 SourceLocation l, Expr *base)
545 : Expr(ObjCPropertyRefExprClass, t, VK, OK,
557 : Expr(ObjCPropertyRefExprClass, t, VK, OK,
567 SourceLocation IdLoc, Expr *Base)
568 : Expr(ObjCPropertyRefExprClass, T, VK, OK, false,
580 : Expr(ObjCPropertyRefExprClass, T, VK, OK, false, false, false, false),
590 : Expr(ObjCPropertyRefExprClass, T, VK, OK, false, false, false, false),
597 : Expr(ObjCPropertyRefExprClass, Empty) {}
651 const Expr *getBase() const {
652 return cast<Expr>(Receiver.get<Stmt*>());
654 Expr *getBase() {
655 return cast<Expr>(Receiver.get<Stmt*>());
741 void setBase(Expr *Base) { Receiver = Base; }
761 class ObjCSubscriptRefExpr : public Expr {
778 ObjCSubscriptRefExpr(Expr *base, Expr *key, QualType T,
782 : Expr(ObjCSubscriptRefExprClass, T, VK, OK,
794 : Expr(ObjCSubscriptRefExprClass, Empty) {}
797 Expr *base,
798 Expr *key, QualType T,
814 Expr *getBaseExpr() const { return cast<Expr>(SubExprs[BASE]); }
817 Expr *getKeyExpr() const { return cast<Expr>(SubExprs[KEY]); }
863 class ObjCMessageExpr : public Expr {
914 : Expr(ObjCMessageExprClass, Empty), SelectorOrMethod(0), Kind(0),
928 ArrayRef<Expr *> Args,
938 ArrayRef<Expr *> Args,
943 Expr *Receiver,
948 ArrayRef<Expr *> Args,
952 void initArgsAndSelLocs(ArrayRef<Expr *> Args,
992 ArrayRef<Expr *> Args,
1050 ArrayRef<Expr *> Args,
1086 ArrayRef<Expr *> Args,
1118 Expr *Receiver,
1122 ArrayRef<Expr *> Args,
1165 Expr *getInstanceReceiver() {
1167 return static_cast<Expr *>(getReceiverPointer());
1171 const Expr *getInstanceReceiver() const {
1177 void setInstanceReceiver(Expr *rec) {
1280 Expr **getArgs() {
1281 return reinterpret_cast<Expr **>(this + 1) + 1;
1283 const Expr * const *getArgs() const {
1284 return reinterpret_cast<const Expr * const *>(this + 1) + 1;
1288 Expr *getArg(unsigned Arg) {
1290 return cast<Expr>(getArgs()[Arg]);
1292 const Expr *getArg(unsigned Arg) const {
1294 return cast<Expr>(getArgs()[Arg]);
1297 void setArg(unsigned Arg, Expr *ArgExpr) {
1321 llvm::makeArrayRef(const_cast<Expr**>(getArgs()),
1374 class ObjCIsaExpr : public Expr {
1384 ObjCIsaExpr(Expr *base, bool isarrow, SourceLocation l, QualType ty)
1385 : Expr(ObjCIsaExprClass, ty, VK_LValue, OK_Ordinary,
1392 explicit ObjCIsaExpr(EmptyShell Empty) : Expr(ObjCIsaExprClass, Empty) { }
1394 void setBase(Expr *E) { Base = E; }
1395 Expr *getBase() const { return cast<Expr>(Base); }
1443 class ObjCIndirectCopyRestoreExpr : public Expr {
1456 : Expr(ObjCIndirectCopyRestoreExprClass, Empty) { }
1459 ObjCIndirectCopyRestoreExpr(Expr *operand, QualType type, bool shouldCopy)
1460 : Expr(ObjCIndirectCopyRestoreExprClass, type, VK_LValue, OK_Ordinary,
1468 Expr *getSubExpr() { return cast<Expr>(Operand); }
1469 const Expr *getSubExpr() const { return cast<Expr>(Operand); }
1508 TypeSourceInfo *TSInfo, Expr *Operand)