const Expr *getSubExpr() const { return Val; }
Expr *getSubExpr() { return Val; }
- SourceRange getSourceRange() const { return SourceRange(L, R); }
+ virtual SourceRange getSourceRange() const { return SourceRange(L, R); }
static bool classof(const Stmt *T) {
return T->getStmtClass() == ParenExprClass;
QualType getArgumentType() const { return Ty; }
SourceLocation getOperatorLoc() const { return OpLoc; }
- SourceRange getSourceRange() const { return SourceRange(OpLoc, RParenLoc); }
+
+ virtual SourceRange getSourceRange() const {
+ return SourceRange(OpLoc, RParenLoc);
+ }
static bool classof(const Stmt *T) {
return T->getStmtClass() == SizeOfAlignOfTypeExprClass;
const Expr *getIdx() const {
return (getRHS()->getType()->isIntegerType()) ? getRHS() : getLHS();
}
-
- SourceRange getSourceRange() const {
+ virtual SourceRange getSourceRange() const {
return SourceRange(getLHS()->getLocStart(), RBracketLoc);
}
+
virtual SourceLocation getExprLoc() const { return RBracketLoc; }
static bool classof(const Stmt *T) {
bool isBuiltinConstantExpr() const;
SourceLocation getRParenLoc() const { return RParenLoc; }
- SourceRange getSourceRange() const {
+
+ virtual SourceRange getSourceRange() const {
return SourceRange(getCallee()->getLocStart(), RParenLoc);
}
virtual SourceRange getSourceRange() const {
return SourceRange(getBase()->getLocStart(), MemberLoc);
}
+
virtual SourceLocation getExprLoc() const { return MemberLoc; }
static bool classof(const Stmt *T) {
virtual SourceRange getSourceRange() const {
return SourceRange(getBase()->getLocStart(), AccessorLoc);
}
+
static bool classof(const Stmt *T) {
return T->getStmtClass() == OCUVectorElementExprClass;
}
SourceLocation getAtLoc() const { return AtLoc; }
SourceLocation getRParenLoc() const { return RParenLoc; }
- SourceRange getSourceRange() const { return SourceRange(AtLoc, RParenLoc); }
+ virtual SourceRange getSourceRange() const {
+ return SourceRange(AtLoc, RParenLoc);
+ }
QualType getEncodedType() const { return EncType; }
SourceLocation getAtLoc() const { return AtLoc; }
SourceLocation getRParenLoc() const { return RParenLoc; }
- SourceRange getSourceRange() const { return SourceRange(AtLoc, RParenLoc); }
+
+ virtual SourceRange getSourceRange() const {
+ return SourceRange(AtLoc, RParenLoc);
+ }
/// getNumArgs - Return the number of actual arguments to this call.
unsigned getNumArgs() const { return SelName.getNumArgs(); }
SourceLocation getAtLoc() const { return AtLoc; }
SourceLocation getRParenLoc() const { return RParenLoc; }
- SourceRange getSourceRange() const { return SourceRange(AtLoc, RParenLoc); }
+
+ virtual SourceRange getSourceRange() const {
+ return SourceRange(AtLoc, RParenLoc);
+ }
static bool classof(const Stmt *T) {
return T->getStmtClass() == ObjCProtocolExprClass;
assert(Arg < NumArgs && "Arg access out of range!");
SubExprs[Arg+ARGS_START] = ArgExpr;
}
- SourceRange getSourceRange() const { return SourceRange(LBracloc, RBracloc); }
+
+ virtual SourceRange getSourceRange() const {
+ return SourceRange(LBracloc, RBracloc);
+ }
static bool classof(const Stmt *T) {
return T->getStmtClass() == ObjCMessageExprClass;