@@ -171,50 +171,49 @@ void Sema::checkContainerDecl(const BlockCommandComment *Comment) {
171
171
const CommandInfo *Info = Traits.getCommandInfo (Comment->getCommandID ());
172
172
if (!Info->IsRecordLikeDetailCommand || isRecordLikeDecl ())
173
173
return ;
174
- unsigned DiagSelect;
174
+ std::optional< unsigned > DiagSelect;
175
175
switch (Comment->getCommandID ()) {
176
176
case CommandTraits::KCI_classdesign:
177
- DiagSelect = 1 ;
177
+ DiagSelect = diag::DocCommandKind::ClassDesign ;
178
178
break ;
179
179
case CommandTraits::KCI_coclass:
180
- DiagSelect = 2 ;
180
+ DiagSelect = diag::DocCommandKind::CoClass ;
181
181
break ;
182
182
case CommandTraits::KCI_dependency:
183
- DiagSelect = 3 ;
183
+ DiagSelect = diag::DocCommandKind::Dependency ;
184
184
break ;
185
185
case CommandTraits::KCI_helper:
186
- DiagSelect = 4 ;
186
+ DiagSelect = diag::DocCommandKind::Helper ;
187
187
break ;
188
188
case CommandTraits::KCI_helperclass:
189
- DiagSelect = 5 ;
189
+ DiagSelect = diag::DocCommandKind::HelperClass ;
190
190
break ;
191
191
case CommandTraits::KCI_helps:
192
- DiagSelect = 6 ;
192
+ DiagSelect = diag::DocCommandKind::Helps ;
193
193
break ;
194
194
case CommandTraits::KCI_instancesize:
195
- DiagSelect = 7 ;
195
+ DiagSelect = diag::DocCommandKind::InstanceSize ;
196
196
break ;
197
197
case CommandTraits::KCI_ownership:
198
- DiagSelect = 8 ;
198
+ DiagSelect = diag::DocCommandKind::Ownership ;
199
199
break ;
200
200
case CommandTraits::KCI_performance:
201
- DiagSelect = 9 ;
201
+ DiagSelect = diag::DocCommandKind::Performance ;
202
202
break ;
203
203
case CommandTraits::KCI_security:
204
- DiagSelect = 10 ;
204
+ DiagSelect = diag::DocCommandKind::Security ;
205
205
break ;
206
206
case CommandTraits::KCI_superclass:
207
- DiagSelect = 11 ;
207
+ DiagSelect = diag::DocCommandKind::Superclass ;
208
208
break ;
209
209
default :
210
- DiagSelect = 0 ;
210
+ DiagSelect = std::nullopt ;
211
211
break ;
212
212
}
213
213
if (DiagSelect)
214
214
Diag (Comment->getLocation (), diag::warn_doc_container_decl_mismatch)
215
- << Comment->getCommandMarker ()
216
- << (DiagSelect-1 )
217
- << Comment->getSourceRange ();
215
+ << Comment->getCommandMarker () << (*DiagSelect)
216
+ << Comment->getSourceRange ();
218
217
}
219
218
220
219
// / Turn a string into the corresponding PassDirection or -1 if it's not
0 commit comments