public static Build LoadFrom(ProjectConfig[] configs) { return configs.Select(LoadFromForConfig).Aggregate((prev, cur) => { if(prev.LTO != null && !EqualityComparer<bool?>.Default.Equals(prev.LTO, cur.LTO)) prev.LTO = null; if(prev.EmitDebug != null && !EqualityComparer<bool?>.Default.Equals(prev.EmitDebug, cur.EmitDebug)) prev.EmitDebug = null; if(prev.OptimizationLevel != null && !EqualityComparer<VisualRust.Shared.OptimizationLevel?>.Default.Equals(prev.OptimizationLevel, cur.OptimizationLevel)) prev.OptimizationLevel = null; if(prev.PlatformTarget != null && !EqualityComparer<System.String>.Default.Equals(prev.PlatformTarget, cur.PlatformTarget)) prev.PlatformTarget = null; return prev; }); }
public static Debug LoadFrom(ProjectConfig[] configs) { return configs.Select(LoadFromForConfig).Aggregate((prev, cur) => { if(prev.StartActionQ != null && !EqualityComparer<StartAction?>.Default.Equals(prev.StartActionQ, cur.StartActionQ)) prev.StartActionQ = null; if(prev.ExternalProgram != null && !EqualityComparer<System.String>.Default.Equals(prev.ExternalProgram, cur.ExternalProgram)) prev.ExternalProgram = null; if(prev.CommandLineArgs != null && !EqualityComparer<System.String>.Default.Equals(prev.CommandLineArgs, cur.CommandLineArgs)) prev.CommandLineArgs = null; if(prev.WorkingDir != null && !EqualityComparer<System.String>.Default.Equals(prev.WorkingDir, cur.WorkingDir)) prev.WorkingDir = null; if(prev.DebuggerScript != null && !EqualityComparer<System.String>.Default.Equals(prev.DebuggerScript, cur.DebuggerScript)) prev.DebuggerScript = null; return prev; }); }