diff options
Diffstat (limited to 'contrib/llvm-project/llvm/include/llvm/TableGen/Record.h')
-rw-r--r-- | contrib/llvm-project/llvm/include/llvm/TableGen/Record.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/llvm-project/llvm/include/llvm/TableGen/Record.h b/contrib/llvm-project/llvm/include/llvm/TableGen/Record.h index 44daad976c12..50df38e695d7 100644 --- a/contrib/llvm-project/llvm/include/llvm/TableGen/Record.h +++ b/contrib/llvm-project/llvm/include/llvm/TableGen/Record.h @@ -1558,6 +1558,7 @@ private: // Location where record was instantiated, followed by the location of // multiclass prototypes used. SmallVector<SMLoc, 4> Locs; + SmallVector<SMLoc, 0> ForwardDeclarationLocs; SmallVector<Init *, 0> TemplateArgs; SmallVector<RecordVal, 0> Values; SmallVector<AssertionInfo, 0> Assertions; @@ -1614,7 +1615,7 @@ public: return Name; } - const std::string getNameInitAsString() const { + std::string getNameInitAsString() const { return getNameInit()->getAsUnquotedString(); } @@ -1623,6 +1624,13 @@ public: ArrayRef<SMLoc> getLoc() const { return Locs; } void appendLoc(SMLoc Loc) { Locs.push_back(Loc); } + ArrayRef<SMLoc> getForwardDeclarationLocs() const { + return ForwardDeclarationLocs; + } + + // Update a class location when encountering a (re-)definition. + void updateClassLoc(SMLoc Loc); + // Make the type that this record should have based on its superclasses. RecordRecTy *getType(); |