diff --git a/src/Generator/Diagnostics.cs b/src/Generator/Diagnostics.cs index b3719440..84452491 100644 --- a/src/Generator/Diagnostics.cs +++ b/src/Generator/Diagnostics.cs @@ -72,6 +72,42 @@ namespace CppSharp consumer.Emit(diagInfo); } + + public static void EmitMessage(this IDiagnosticConsumer consumer, + string msg, params object[] args) + { + var diagInfo = new DiagnosticInfo + { + Kind = DiagnosticKind.Message, + Message = string.Format(msg, args) + }; + + consumer.Emit(diagInfo); + } + + public static void EmitWarning(this IDiagnosticConsumer consumer, + string msg, params object[] args) + { + var diagInfo = new DiagnosticInfo + { + Kind = DiagnosticKind.Warning, + Message = string.Format(msg, args) + }; + + consumer.Emit(diagInfo); + } + + public static void EmitError(this IDiagnosticConsumer consumer, + string msg, params object[] args) + { + var diagInfo = new DiagnosticInfo + { + Kind = DiagnosticKind.Error, + Message = string.Format(msg, args) + }; + + consumer.Emit(diagInfo); + } } public class TextDiagnosticPrinter : IDiagnosticConsumer