aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-04-18 04:18:16 +0000
committerTed Kremenek <kremenek@apple.com>2008-04-18 04:18:16 +0000
commit866b5c03e3b9c01cf496ad97b85a05afc917345b (patch)
tree326ec8c6cb7770727259580395f7d5feb7a77125
parent8dd564630c901d6d62dd2ffd4110b613d0055078 (diff)
Several Expr subclasses did not mark "getSourceRange()" virtual. Fixed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49890 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/AST/Expr.h35
1 files changed, 26 insertions, 9 deletions
diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index 469bf3cbfd..4819e218e7 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -372,7 +372,7 @@ public:
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;
@@ -484,7 +484,10 @@ public:
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;
@@ -546,11 +549,11 @@ public:
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) {
@@ -634,7 +637,8 @@ public:
bool isBuiltinConstantExpr() const;
SourceLocation getRParenLoc() const { return RParenLoc; }
- SourceRange getSourceRange() const {
+
+ virtual SourceRange getSourceRange() const {
return SourceRange(getCallee()->getLocStart(), RParenLoc);
}
@@ -671,6 +675,7 @@ public:
virtual SourceRange getSourceRange() const {
return SourceRange(getBase()->getLocStart(), MemberLoc);
}
+
virtual SourceLocation getExprLoc() const { return MemberLoc; }
static bool classof(const Stmt *T) {
@@ -736,6 +741,7 @@ public:
virtual SourceRange getSourceRange() const {
return SourceRange(getBase()->getLocStart(), AccessorLoc);
}
+
static bool classof(const Stmt *T) {
return T->getStmtClass() == OCUVectorElementExprClass;
}
@@ -1366,7 +1372,9 @@ public:
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; }
@@ -1397,7 +1405,10 @@ public:
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(); }
@@ -1429,7 +1440,10 @@ public:
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;
@@ -1541,7 +1555,10 @@ public:
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;