File tree Expand file tree Collapse file tree 2 files changed +9
-22
lines changed Expand file tree Collapse file tree 2 files changed +9
-22
lines changed Original file line number Diff line number Diff line change @@ -1007,20 +1007,12 @@ class DecodedMetadataBuilder {
1007
1007
return BuiltType ();
1008
1008
}
1009
1009
1010
- BuiltType createUnownedStorageType (BuiltType base) {
1011
- ReferenceOwnership.setUnowned ();
1012
- return base;
1013
- }
1014
-
1015
- BuiltType createUnmanagedStorageType (BuiltType base) {
1016
- ReferenceOwnership.setUnmanaged ();
1017
- return base;
1018
- }
1019
-
1020
- BuiltType createWeakStorageType (BuiltType base) {
1021
- ReferenceOwnership.setWeak ();
1022
- return base;
1010
+ #define REF_STORAGE (Name, ...) \
1011
+ BuiltType create##Name##StorageType(BuiltType base) { \
1012
+ ReferenceOwnership.set ##Name (); \
1013
+ return base; \
1023
1014
}
1015
+ #include " swift/AST/ReferenceStorage.def"
1024
1016
1025
1017
BuiltType createSILBoxType (BuiltType base) const {
1026
1018
// FIXME: Implement.
Original file line number Diff line number Diff line change @@ -43,15 +43,10 @@ class TypeReferenceOwnership {
43
43
public:
44
44
constexpr TypeReferenceOwnership () : Data(0 ) {}
45
45
46
- bool isWeak () const { return Data & Weak; }
47
- bool isUnowned () const { return Data & Unowned; }
48
- bool isUnmanaged () const { return Data & Unmanaged; }
49
-
50
- void setWeak () { Data |= Weak; }
51
-
52
- void setUnowned () { Data |= Unowned; }
53
-
54
- void setUnmanaged () { Data |= Unmanaged; }
46
+ #define REF_STORAGE (Name, ...) \
47
+ void set##Name() { Data |= Name; } \
48
+ bool is##Name() const { return Data & Name; }
49
+ #include " swift/AST/ReferenceStorage.def"
55
50
};
56
51
57
52
// / Type information consists of metadata and its ownership info,
You can’t perform that action at this time.
0 commit comments