diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-04-18 04:18:16 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-04-18 04:18:16 +0000 |
commit | 866b5c03e3b9c01cf496ad97b85a05afc917345b (patch) | |
tree | 326ec8c6cb7770727259580395f7d5feb7a77125 | |
parent | 8dd564630c901d6d62dd2ffd4110b613d0055078 (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.h | 35 |
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; |