From 3d0e92c1e4ce0119d34d40cba485030507e0b844 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Thu, 6 Mar 2025 16:15:02 -0500 Subject: [PATCH] don't crash on stupid stuff --- mocha-dotnet/src/lib/Mocha.Core/Oms.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/mocha-dotnet/src/lib/Mocha.Core/Oms.cs b/mocha-dotnet/src/lib/Mocha.Core/Oms.cs index c20f860..ab33b6b 100644 --- a/mocha-dotnet/src/lib/Mocha.Core/Oms.cs +++ b/mocha-dotnet/src/lib/Mocha.Core/Oms.cs @@ -593,11 +593,18 @@ public abstract class Oms public InstanceHandle GetParentClass(IInstanceReference ir) { - InstanceHandle relInstance__for__Class = GetInstance(KnownRelationshipGuids.Instance__for__Class); - IEnumerable irs = GetRelatedInstances(ir.GetHandle(), relInstance__for__Class); - if (irs.Count() > 0) + if (ir != null) { - return irs.First(); + InstanceHandle relInstance__for__Class = GetInstance(KnownRelationshipGuids.Instance__for__Class); + IEnumerable irs = GetRelatedInstances(ir.GetHandle(), relInstance__for__Class); + if (irs.Count() > 0) + { + return irs.First(); + } + } + else + { + } return InstanceHandle.Empty; } @@ -1113,6 +1120,12 @@ public abstract class Oms InstanceHandle assignsToParm = GetRelatedInstance(parm, GetInstance(KnownRelationshipGuids.Parameter_Assignment__assigns_to__Work_Data)); IInstanceReference assignsFromWorkData = GetRelatedInstance(parm, GetInstance(KnownRelationshipGuids.Parameter_Assignment__assigns_from__Executable_returning_Work_Data)); + if (assignsFromWorkData == null) + { + Console.Error.WriteLine("oms: error: assigns from work data not set for parameter assignment '{0}'", parm.GlobalIdentifier); + continue; + } + if (IsInstanceOf(assignsFromWorkData, GetInstance(KnownInstanceGuids.Classes.Class))) { assignsFromWorkData = context.GetWorkData(assignsFromWorkData);