Skip to content

Commit 4c33aab

Browse files
authored
Merge pull request #41593 from rjmccall/serialization-improvements
Uniquely serialize conformances and make room for more protocol codes
2 parents 8adcc2a + 7830d93 commit 4c33aab

12 files changed

+889
-897
lines changed

lib/Serialization/DeclTypeRecordNodes.def

Lines changed: 54 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ DECL(OPAQUE_TYPE)
127127
DECL(PATTERN_BINDING)
128128
DECL(PROTOCOL)
129129
TRAILING_INFO(DEFAULT_WITNESS_TABLE)
130-
TRAILING_INFO(PROTOCOL_TYPEALIAS)
131130
TRAILING_INFO(ASSOCIATED_TYPE)
132131
DECL(PREFIX_OPERATOR)
133132
DECL(POSTFIX_OPERATOR)
@@ -141,68 +140,68 @@ DECL(DESTRUCTOR)
141140
DECL(PRECEDENCE_GROUP)
142141
DECL(ACCESSOR)
143142

144-
#ifndef DECL_ATTR
145-
#define DECL_ATTR(NAME, CLASS, OPTIONS, CODE) RECORD_VAL(CLASS##_DECL_ATTR, 70+CODE)
146-
#endif
147-
#include "swift/AST/Attr.def"
148-
149-
FIRST_PATTERN(PAREN, 200)
143+
FIRST_PATTERN(PAREN, 80)
150144
PATTERN(TUPLE)
151145
TRAILING_INFO(TUPLE_PATTERN_ELT)
152146
PATTERN(NAMED)
153147
PATTERN(ANY)
154148
PATTERN(TYPED)
155149
PATTERN(VAR)
156150

157-
OTHER(PARAMETERLIST, 210)
151+
OTHER(PARAMETERLIST, 100)
158152
// 211 is unused
159-
OTHER(FOREIGN_ERROR_CONVENTION, 212)
160-
OTHER(FOREIGN_ASYNC_CONVENTION, 213)
161-
OTHER(XREF_TYPE_PATH_PIECE, 214)
162-
OTHER(XREF_VALUE_PATH_PIECE, 215)
163-
OTHER(XREF_EXTENSION_PATH_PIECE, 216)
164-
OTHER(XREF_OPERATOR_OR_ACCESSOR_PATH_PIECE, 217)
165-
OTHER(XREF_GENERIC_PARAM_PATH_PIECE, 218)
166-
OTHER(XREF_INITIALIZER_PATH_PIECE, 219)
167-
168-
OTHER(ABSTRACT_CLOSURE_EXPR_CONTEXT, 220)
169-
OTHER(PATTERN_BINDING_INITIALIZER_CONTEXT, 221)
170-
OTHER(DEFAULT_ARGUMENT_INITIALIZER_CONTEXT, 222)
171-
OTHER(TOP_LEVEL_CODE_DECL_CONTEXT, 223)
172-
173-
OTHER(GENERIC_PARAM_LIST, 230)
174-
OTHER(GENERIC_SIGNATURE, 231)
175-
TRAILING_INFO(GENERIC_REQUIREMENT)
176-
TRAILING_INFO(LAYOUT_REQUIREMENT)
177-
OTHER(BUILTIN_PROTOCOL_CONFORMANCE, 234)
178-
OTHER(SIL_GENERIC_SIGNATURE, 235)
179-
OTHER(SUBSTITUTION_MAP, 236)
180-
181-
OTHER(LOCAL_DISCRIMINATOR, 237)
182-
OTHER(PRIVATE_DISCRIMINATOR, 238)
183-
OTHER(FILENAME_FOR_PRIVATE, 239)
184-
185-
OTHER(ABSTRACT_PROTOCOL_CONFORMANCE, 240)
186-
OTHER(NORMAL_PROTOCOL_CONFORMANCE, 241)
187-
OTHER(SPECIALIZED_PROTOCOL_CONFORMANCE, 242)
188-
OTHER(INHERITED_PROTOCOL_CONFORMANCE, 243)
189-
OTHER(INVALID_PROTOCOL_CONFORMANCE, 244)
190-
191-
OTHER(SIL_LAYOUT, 245)
192-
OTHER(NORMAL_PROTOCOL_CONFORMANCE_ID, 246)
193-
OTHER(PROTOCOL_CONFORMANCE_XREF, 247)
194-
OTHER(MEMBERS, 248)
195-
OTHER(XREF, 249)
196-
OTHER(INLINABLE_BODY_TEXT, 250)
197-
OTHER(SELF_PROTOCOL_CONFORMANCE, 251)
198-
199-
OTHER(XREF_OPAQUE_RETURN_TYPE_PATH_PIECE, 252)
200-
201-
OTHER(CLANG_TYPE, 253)
202-
203-
OTHER(DERIVATIVE_FUNCTION_CONFIGURATION, 254)
204-
205-
OTHER(ERROR_FLAG, 255)
153+
OTHER(FOREIGN_ERROR_CONVENTION, 101)
154+
OTHER(FOREIGN_ASYNC_CONVENTION, 102)
155+
OTHER(XREF_TYPE_PATH_PIECE, 103)
156+
OTHER(XREF_VALUE_PATH_PIECE, 104)
157+
OTHER(XREF_EXTENSION_PATH_PIECE, 105)
158+
OTHER(XREF_OPERATOR_OR_ACCESSOR_PATH_PIECE, 106)
159+
OTHER(XREF_GENERIC_PARAM_PATH_PIECE, 107)
160+
OTHER(XREF_INITIALIZER_PATH_PIECE, 108)
161+
162+
OTHER(ABSTRACT_CLOSURE_EXPR_CONTEXT, 109)
163+
OTHER(PATTERN_BINDING_INITIALIZER_CONTEXT, 110)
164+
OTHER(DEFAULT_ARGUMENT_INITIALIZER_CONTEXT, 111)
165+
OTHER(TOP_LEVEL_CODE_DECL_CONTEXT, 112)
166+
167+
OTHER(GENERIC_PARAM_LIST, 120)
168+
OTHER(GENERIC_SIGNATURE, 121)
169+
OTHER(REQUIREMENT_SIGNATURE, 122)
170+
// 123 is unused; was LAYOUT_REQUIREMENT
171+
OTHER(BUILTIN_PROTOCOL_CONFORMANCE, 124)
172+
OTHER(SIL_GENERIC_SIGNATURE, 125)
173+
OTHER(SUBSTITUTION_MAP, 126)
174+
175+
OTHER(LOCAL_DISCRIMINATOR, 127)
176+
OTHER(PRIVATE_DISCRIMINATOR, 128)
177+
OTHER(FILENAME_FOR_PRIVATE, 129)
178+
179+
// 140 is unused; was ABSTRACT_PROTOCOL_CONFORMANCE
180+
OTHER(NORMAL_PROTOCOL_CONFORMANCE, 141)
181+
OTHER(SPECIALIZED_PROTOCOL_CONFORMANCE, 142)
182+
OTHER(INHERITED_PROTOCOL_CONFORMANCE, 143)
183+
// 144 is unused; was INVALID_PROTOCOL_CONFORMANCE
184+
185+
OTHER(SIL_LAYOUT, 145)
186+
// 146 is unused; was NORMAL_PROTOCOL_CONFORMANCE_ID
187+
OTHER(PROTOCOL_CONFORMANCE_XREF, 147)
188+
OTHER(MEMBERS, 148)
189+
OTHER(XREF, 149)
190+
OTHER(INLINABLE_BODY_TEXT, 150)
191+
OTHER(SELF_PROTOCOL_CONFORMANCE, 151)
192+
193+
OTHER(XREF_OPAQUE_RETURN_TYPE_PATH_PIECE, 152)
194+
195+
OTHER(CLANG_TYPE, 153)
196+
197+
OTHER(DERIVATIVE_FUNCTION_CONFIGURATION, 154)
198+
199+
OTHER(ERROR_FLAG, 155)
200+
201+
#ifndef DECL_ATTR
202+
#define DECL_ATTR(NAME, CLASS, OPTIONS, CODE) RECORD_VAL(CLASS##_DECL_ATTR, 180+CODE)
203+
#endif
204+
#include "swift/AST/Attr.def"
206205

207206
#undef RECORD
208207
#undef DECLTYPERECORDNODES_HAS_RECORD_VAL

0 commit comments

Comments
 (0)