mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
Add the SourceLocation for the right brace in TagDecl.
llvm-svn: 75590
This commit is contained in:
@@ -1150,7 +1150,9 @@ private:
|
||||
/// TypedefForAnonDecl - If a TagDecl is anonymous and part of a typedef,
|
||||
/// this points to the TypedefDecl. Used for mangling.
|
||||
TypedefDecl *TypedefForAnonDecl;
|
||||
|
||||
|
||||
SourceLocation RBraceLoc;
|
||||
|
||||
protected:
|
||||
TagDecl(Kind DK, TagKind TK, DeclContext *DC, SourceLocation L,
|
||||
IdentifierInfo *Id)
|
||||
@@ -1161,6 +1163,11 @@ protected:
|
||||
}
|
||||
public:
|
||||
|
||||
SourceLocation getRBraceLoc() const { return RBraceLoc; }
|
||||
void setRBraceLoc(SourceLocation L) { RBraceLoc = L; }
|
||||
|
||||
virtual SourceRange getSourceRange() const;
|
||||
|
||||
/// isDefinition - Return true if this decl has its body specified.
|
||||
bool isDefinition() const {
|
||||
return IsDefinition;
|
||||
|
||||
@@ -658,6 +658,11 @@ void FunctionDecl::setExplicitSpecialization(bool ES) {
|
||||
// TagDecl Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
SourceRange TagDecl::getSourceRange() const {
|
||||
SourceLocation E = RBraceLoc.isValid() ? RBraceLoc : getLocation();
|
||||
return SourceRange(getLocation(), E);
|
||||
}
|
||||
|
||||
void TagDecl::startDefinition() {
|
||||
TagType *TagT = const_cast<TagType *>(TypeForDecl->getAsTagType());
|
||||
TagT->decl.setPointer(this);
|
||||
|
||||
Reference in New Issue
Block a user