From 5bb695cad1f7d58f2757936513fba1a6d2e08b7f Mon Sep 17 00:00:00 2001 From: Manish Sinha Date: Tue, 20 Aug 2019 11:42:01 -0400 Subject: [AutoTest] Flatten all the IRuntimeModel child heirarchy into single enumerable --- .../NSObjectResult.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'main') diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs index a44718e75b..6c5c13ee79 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs @@ -367,7 +367,8 @@ namespace MonoDevelop.Components.AutoTest.Results var pObject = pinfo.GetValue (ResultObject, null); LoggingService.LogDebug ($"'RuntimeModel' property on '{type}' is '{pObject}' and is of type '{pinfo.PropertyType}'"); - var model = (IEnumerable)pObject; + var topRunTimeModels = (IEnumerable)pObject; + var model = AllRuntimes (topRunTimeModels); var runtime = model.FirstOrDefault (r => { var mutableModel = r.GetMutableModel (); @@ -410,6 +411,16 @@ namespace MonoDevelop.Components.AutoTest.Results } return false; } + + IEnumerable AllRuntimes (IEnumerable runtimes) + { + foreach (var runtime in runtimes) { + yield return runtime; + foreach (var childRuntime in AllRuntimes (runtime.Children)) + yield return childRuntime; + } + } + #endregion protected override void Dispose (bool disposing) -- cgit v1.2.3