using System; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace ILLink.Tasks { class AdapterLogger : Mono.Linker.ILogger { private TaskLoggingHelper log; public AdapterLogger (TaskLoggingHelper log) { this.log = log; } public void LogMessage (Mono.Linker.MessageImportance importance, string message, params object[] values) { Microsoft.Build.Framework.MessageImportance msBuildImportance; switch (importance) { case Mono.Linker.MessageImportance.High: msBuildImportance = MessageImportance.High; break; case Mono.Linker.MessageImportance.Normal: msBuildImportance = MessageImportance.Normal; break; case Mono.Linker.MessageImportance.Low: msBuildImportance = MessageImportance.Low; break; default: throw new ArgumentException ($"Unrecognized importance level {importance}", nameof(importance)); } log.LogMessageFromText (String.Format (message, values), msBuildImportance); } } }