protected void CopyCustomDebugInfo(IHasCustomDebugInformation source, IHasCustomDebugInformation dest) { if (Context.TargetModule.PdbState == null || !source.HasCustomDebugInfos) { return; } foreach (var si in source.CustomDebugInfos) { var cloned = Clone(si); if (cloned != null) { dest.CustomDebugInfos.Add(cloned); } } }
static bool TryGetCustomDebugInfo <TCDI>(IHasCustomDebugInformation hci, out TCDI cdi) where TCDI : PdbCustomDebugInfo { var cdis = hci.CustomDebugInfos; int count = cdis.Count; for (int i = 0; i < count; i++) { if (cdis[i] is TCDI cdi2) { cdi = cdi2; return(true); } } cdi = null; return(false); }