Skip to content

Commit 00349ef

Browse files
authored
Merge pull request #38611 from slavapestov/the-great-renaming
RequirementMachine: The great renaming
2 parents b4fb5b5 + 1d7eae7 commit 00349ef

21 files changed

+809
-849
lines changed

include/swift/AST/ASTContext.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ namespace swift {
112112
class TupleTypeElt;
113113
class EnumElementDecl;
114114
class ProtocolDecl;
115-
class RequirementMachine;
116115
class SubstitutableType;
117116
class SourceManager;
118117
class ValueDecl;
@@ -135,6 +134,10 @@ namespace namelookup {
135134
class ImportCache;
136135
}
137136

137+
namespace rewriting {
138+
class RequirementMachine;
139+
}
140+
138141
namespace syntax {
139142
class SyntaxArena;
140143
}
@@ -1160,7 +1163,7 @@ class ASTContext final {
11601163

11611164
/// Retrieve or create a term rewriting system for answering queries on
11621165
/// type parameters written against the given generic signature.
1163-
RequirementMachine *getOrCreateRequirementMachine(
1166+
rewriting::RequirementMachine *getOrCreateRequirementMachine(
11641167
CanGenericSignature sig);
11651168

11661169
/// Retrieve a generic signature with a single unconstrained type parameter,

include/swift/AST/GenericSignature.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,13 @@ namespace swift {
3333
class GenericSignatureBuilder;
3434
class ProtocolConformanceRef;
3535
class ProtocolType;
36-
class RequirementMachine;
3736
class SubstitutionMap;
3837
class GenericEnvironment;
3938

39+
namespace rewriting {
40+
class RequirementMachine;
41+
}
42+
4043
/// An access path used to find a particular protocol conformance within
4144
/// a generic signature.
4245
///
@@ -82,7 +85,7 @@ class ConformanceAccessPath {
8285

8386
friend class GenericSignatureImpl;
8487
friend class GenericSignatureBuilder;
85-
friend class RequirementMachine;
88+
friend class rewriting::RequirementMachine;
8689

8790
public:
8891
typedef const Entry *const_iterator;
@@ -320,7 +323,7 @@ class alignas(1 << TypeAlignInBits) GenericSignatureImpl final
320323
GenericSignatureBuilder *getGenericSignatureBuilder() const;
321324

322325
/// Retrieve the requirement machine for the given generic signature.
323-
RequirementMachine *getRequirementMachine() const;
326+
rewriting::RequirementMachine *getRequirementMachine() const;
324327

325328
/// Collects a set of requirements on a type parameter. Used by
326329
/// GenericEnvironment for building archetypes.

lib/AST/ASTContext.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
#include "swift/AST/PropertyWrappers.h"
4242
#include "swift/AST/ProtocolConformance.h"
4343
#include "swift/AST/RawComment.h"
44-
#include "swift/AST/RequirementMachine.h"
4544
#include "swift/AST/SILLayout.h"
4645
#include "swift/AST/SemanticAttrs.h"
4746
#include "swift/AST/SourceFile.h"
@@ -67,6 +66,7 @@
6766
#include <algorithm>
6867
#include <memory>
6968

69+
#include "RequirementMachine/RequirementMachine.h"
7070
#include "RequirementMachine/RewriteContext.h"
7171

7272
using namespace swift;
@@ -420,7 +420,8 @@ struct ASTContext::Implementation {
420420
GenericSignatureBuilders;
421421

422422
/// Stored requirement machines for canonical generic signatures.
423-
llvm::DenseMap<GenericSignature, std::unique_ptr<RequirementMachine>>
423+
llvm::DenseMap<GenericSignature,
424+
std::unique_ptr<rewriting::RequirementMachine>>
424425
RequirementMachines;
425426

426427
/// The set of function types.
@@ -1892,8 +1893,8 @@ GenericSignatureBuilder *ASTContext::getOrCreateGenericSignatureBuilder(
18921893
return builder;
18931894
}
18941895

1895-
RequirementMachine *ASTContext::getOrCreateRequirementMachine(
1896-
CanGenericSignature sig) {
1896+
rewriting::RequirementMachine *
1897+
ASTContext::getOrCreateRequirementMachine(CanGenericSignature sig) {
18971898
assert(!sig.hasTypeVariable());
18981899

18991900
auto &rewriteCtx = getImpl().TheRewriteContext;
@@ -1917,7 +1918,7 @@ RequirementMachine *ASTContext::getOrCreateRequirementMachine(
19171918
return machine;
19181919
}
19191920

1920-
auto *machine = new RequirementMachine(*rewriteCtx);
1921+
auto *machine = new rewriting::RequirementMachine(*rewriteCtx);
19211922

19221923
// Store this requirement machine before adding the signature,
19231924
// to catch re-entrant construction via addGenericSignature()

lib/AST/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ add_swift_host_library(swiftAST STATIC
7373
ProtocolConformance.cpp
7474
RawComment.cpp
7575
RequirementEnvironment.cpp
76-
RequirementMachine/EquivalenceClassMap.cpp
7776
RequirementMachine/GenericSignatureQueries.cpp
77+
RequirementMachine/PropertyMap.cpp
7878
RequirementMachine/ProtocolGraph.cpp
7979
RequirementMachine/RequirementMachine.cpp
8080
RequirementMachine/RewriteContext.cpp

lib/AST/GenericSignature.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
#include "swift/AST/GenericEnvironment.h"
2323
#include "swift/AST/Module.h"
2424
#include "swift/AST/PrettyStackTrace.h"
25-
#include "swift/AST/RequirementMachine.h"
2625
#include "swift/AST/Types.h"
2726
#include "swift/Basic/STLExtras.h"
27+
#include "RequirementMachine/RequirementMachine.h"
2828
#include <functional>
2929

3030
using namespace swift;
@@ -191,7 +191,7 @@ GenericSignatureImpl::getGenericSignatureBuilder() const {
191191
CanGenericSignature(this));
192192
}
193193

194-
RequirementMachine *
194+
rewriting::RequirementMachine *
195195
GenericSignatureImpl::getRequirementMachine() const {
196196
// The requirement machine is associated with the canonical signature.
197197
if (!isCanonical())

0 commit comments

Comments
 (0)