diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2011-03-04 10:59:18 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2011-03-04 10:59:18 +0000 |
commit | 8fbb7628e9fc364bbfb65bdf2c2468b0d06a7e5b (patch) | |
tree | c1a455e1a231ca4c5778de95c4aa07502c274976 | |
parent | 1a0918ade0a3490c7aff243f9cd519156dfcb0bd (diff) |
Fixed end location of FriendDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126993 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/DeclFriend.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/clang/AST/DeclFriend.h b/include/clang/AST/DeclFriend.h index 20d6da19b8..b84e5bba86 100644 --- a/include/clang/AST/DeclFriend.h +++ b/include/clang/AST/DeclFriend.h @@ -98,6 +98,17 @@ public: return FriendLoc; } + /// Retrieves the source range for the friend declaration. + SourceRange getSourceRange() const { + /* FIXME: consider the case of templates wrt start of range. */ + if (NamedDecl *ND = getFriendDecl()) + return SourceRange(getFriendLoc(), ND->getLocEnd()); + else if (TypeSourceInfo *TInfo = getFriendType()) + return SourceRange(getFriendLoc(), TInfo->getTypeLoc().getEndLoc()); + else + return SourceRange(getFriendLoc(), getLocation()); + } + /// Determines if this friend kind is unsupported. bool isUnsupportedFriend() const { return UnsupportedFriend; |