using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Build.Utilities; using Microsoft.Build.Framework; using Cosmos.Debug.Common; namespace Cosmos.Build.MSBuild { public class ReadNAsmMapToDebugInfo : AppDomainIsolatedTask { [Required] public string InputBaseDir { get; set; } [Required] public string DebugInfoFile { get; set; } public override bool Execute() { var xSourceInfos = SourceInfo.ParseMapFile(InputBaseDir); if (xSourceInfos.Count == 0) { Log.LogError("No SourceInfos found!"); return false; } using (var xDebugInfo = new DebugInfo(DebugInfoFile)) { xDebugInfo.WriteAddressLabelMappings(xSourceInfos); } return true; } } }