@@ -171,50 +171,49 @@ void Sema::checkContainerDecl(const BlockCommandComment *Comment) {
171171 const CommandInfo *Info = Traits.getCommandInfo (Comment->getCommandID ());
172172 if (!Info->IsRecordLikeDetailCommand || isRecordLikeDecl ())
173173 return ;
174- unsigned DiagSelect;
174+ std::optional< unsigned > DiagSelect;
175175 switch (Comment->getCommandID ()) {
176176 case CommandTraits::KCI_classdesign:
177- DiagSelect = 1 ;
177+ DiagSelect = diag::DocCommandKind::ClassDesign ;
178178 break ;
179179 case CommandTraits::KCI_coclass:
180- DiagSelect = 2 ;
180+ DiagSelect = diag::DocCommandKind::CoClass ;
181181 break ;
182182 case CommandTraits::KCI_dependency:
183- DiagSelect = 3 ;
183+ DiagSelect = diag::DocCommandKind::Dependency ;
184184 break ;
185185 case CommandTraits::KCI_helper:
186- DiagSelect = 4 ;
186+ DiagSelect = diag::DocCommandKind::Helper ;
187187 break ;
188188 case CommandTraits::KCI_helperclass:
189- DiagSelect = 5 ;
189+ DiagSelect = diag::DocCommandKind::HelperClass ;
190190 break ;
191191 case CommandTraits::KCI_helps:
192- DiagSelect = 6 ;
192+ DiagSelect = diag::DocCommandKind::Helps ;
193193 break ;
194194 case CommandTraits::KCI_instancesize:
195- DiagSelect = 7 ;
195+ DiagSelect = diag::DocCommandKind::InstanceSize ;
196196 break ;
197197 case CommandTraits::KCI_ownership:
198- DiagSelect = 8 ;
198+ DiagSelect = diag::DocCommandKind::Ownership ;
199199 break ;
200200 case CommandTraits::KCI_performance:
201- DiagSelect = 9 ;
201+ DiagSelect = diag::DocCommandKind::Performance ;
202202 break ;
203203 case CommandTraits::KCI_security:
204- DiagSelect = 10 ;
204+ DiagSelect = diag::DocCommandKind::Security ;
205205 break ;
206206 case CommandTraits::KCI_superclass:
207- DiagSelect = 11 ;
207+ DiagSelect = diag::DocCommandKind::Superclass ;
208208 break ;
209209 default :
210- DiagSelect = 0 ;
210+ DiagSelect = std:: nullopt ;
211211 break ;
212212 }
213213 if (DiagSelect)
214214 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 ();
218217}
219218
220219// / Turn a string into the corresponding PassDirection or -1 if it's not
0 commit comments