Skip to content

Commit 93f5c61

Browse files
authored
[NFC] [Serialization] Extract the functionality of merging decls from ASTReaderDecl (#103022)
Currently we're merging the decls in ASTReaderDecl. But it is not so convinient if we want to merge things in ASTReader. This patch extract the funcitonality of merging decls from ASTReaderDecl to a new class, ASTReaderMerger. Then it will be easier to merge decls in ASTReader. This may help the readability slightly too.
1 parent 346a1c5 commit 93f5c61

File tree

6 files changed

+399
-391
lines changed

6 files changed

+399
-391
lines changed

clang/include/clang/AST/DeclBase.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,7 @@ class alignas(8) Decl {
324324
static bool StatisticsEnabled;
325325

326326
protected:
327+
friend class ASTDeclMerger;
327328
friend class ASTDeclReader;
328329
friend class ASTDeclWriter;
329330
friend class ASTNodeImporter;

clang/include/clang/AST/DeclCXX.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ class CXXBaseSpecifier {
256256

257257
/// Represents a C++ struct/union/class.
258258
class CXXRecordDecl : public RecordDecl {
259+
friend class ASTDeclMerger;
259260
friend class ASTDeclReader;
260261
friend class ASTDeclWriter;
261262
friend class ASTNodeImporter;

clang/include/clang/AST/DeclObjC.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1747,6 +1747,7 @@ class ObjCInterfaceDecl : public ObjCContainerDecl
17471747
static bool isKnownExtension(ObjCCategoryDecl *Cat);
17481748

17491749
public:
1750+
friend class ASTDeclMerger;
17501751
friend class ASTDeclReader;
17511752
friend class ASTDeclWriter;
17521753
friend class ASTReader;
@@ -2134,6 +2135,7 @@ class ObjCProtocolDecl : public ObjCContainerDecl,
21342135
void setHasODRHash(bool HasHash);
21352136

21362137
public:
2138+
friend class ASTDeclMerger;
21372139
friend class ASTDeclReader;
21382140
friend class ASTDeclWriter;
21392141
friend class ASTReader;

clang/include/clang/AST/Redeclarable.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ class Redeclarable {
191191
}
192192

193193
public:
194+
friend class ASTDeclMerger;
194195
friend class ASTDeclReader;
195196
friend class ASTDeclWriter;
196197
friend class IncrementalParser;

clang/include/clang/Serialization/ASTReader.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ class ASTReader
378378
{
379379
public:
380380
/// Types of AST files.
381+
friend class ASTDeclMerger;
381382
friend class ASTDeclReader;
382383
friend class ASTIdentifierIterator;
383384
friend class ASTRecordReader;

0 commit comments

Comments
 (0)