@@ -335,24 +335,12 @@ class Messages {
335335 return messages_.emplace_back (std::forward<A>(args)...);
336336 }
337337
338- // AddWarning bypasses the language feature control, it is only exposed for
339- // legacy code that cannot be easily refactored to use Warn().
340- template <typename ... A>
341- Message &AddWarning (common::UsageWarning warning, A &&...args) {
342- return messages_.emplace_back (warning, std::forward<A>(args)...);
343- }
344-
345- template <typename ... A>
346- Message &AddWarning (common::LanguageFeature feature, A &&...args) {
347- return messages_.emplace_back (feature, std::forward<A>(args)...);
348- }
349-
350338 template <typename ... A>
351339 Message *Warn (bool isInModuleFile,
352340 const common::LanguageFeatureControl &control,
353341 common::LanguageFeature feature, A &&...args) {
354342 if (!isInModuleFile && control.ShouldWarn (feature)) {
355- return &AddWarning (feature, std::forward<A>(args)...);
343+ return &addWarning (feature, std::forward<A>(args)...);
356344 }
357345 return nullptr ;
358346 }
@@ -362,7 +350,7 @@ class Messages {
362350 const common::LanguageFeatureControl &control,
363351 common::UsageWarning warning, A &&...args) {
364352 if (!isInModuleFile && control.ShouldWarn (warning)) {
365- return &AddWarning (warning, std::forward<A>(args)...);
353+ return &addWarning (warning, std::forward<A>(args)...);
366354 }
367355 return nullptr ;
368356 }
@@ -383,6 +371,14 @@ class Messages {
383371 bool AnyFatalError (bool warningsAreErrors = false ) const ;
384372
385373private:
374+ template <typename ... A>
375+ Message &addWarning (common::UsageWarning warning, A &&...args) {
376+ return messages_.emplace_back (warning, std::forward<A>(args)...);
377+ }
378+ template <typename ... A>
379+ Message &addWarning (common::LanguageFeature feature, A &&...args) {
380+ return messages_.emplace_back (feature, std::forward<A>(args)...);
381+ }
386382 std::list<Message> messages_;
387383};
388384
0 commit comments