protected override void PreProcess(Delegate obj, object parent, FieldInfo field) { if (obj.Target != null) { ObjectLookup.Add(obj.Target, obj, null); } }
public static void OnLoadArrayReference(object list, ref object parent) { if (!ErrorTrapTuning.kPerformDereferencing) { return; } using (TestSpan span = new TestSpan(TimeSpanLogger.Bin, "OnLoadArrayReferences", DebuggingLevel)) { try { if ((parent == null) || (list == null)) { return; } if (IsIgnored(list)) { return; } ObjectLookup.Add(list, parent, null); } catch (Exception e) { DebugException("Parent: " + parent.GetType().ToString() + Common.NewLine + "List: " + list.GetType().ToString(), e); } } }
public static void OnLoadReference(ref object child, ref object parent, FieldInfo field) { if (!ErrorTrapTuning.kPerformDereferencing) { return; } using (TestSpan span = new TestSpan(TimeSpanLogger.Bin, "OnLoadReference", DebuggingLevel)) { try { if ((parent == null) || (child == null)) { return; } if (IsIgnored(child)) { return; } try { child.GetHashCode(); parent.GetHashCode(); } catch { return; } sReferencesCounted++; ObjectLookup.Add(child, parent, field); } catch (Exception e) { DebugException("Parent: " + parent.GetType().ToString() + Common.NewLine + "Child: " + child.GetType().ToString(), e); } } }
private void AddObject(ToffeeObject tObject) { if (tObject.Network != this) { throw new ToffeeException("Tried to add object to network '{0}' but object belongs to '{1}'", Name, tObject.Network.Name); } if (Objects.ContainsKey(tObject.GetType())) { Objects[tObject.GetType()].Add(tObject); ObjectIdentifierLookup[tObject.GetType()].Add(tObject.FullName, tObject); ObjectLookup[tObject.GetType()].Add(tObject.ObjectId, tObject); } else { Objects.Add(tObject.GetType(), new List <ToffeeObject>()); ObjectIdentifierLookup.Add(tObject.GetType(), new Dictionary <string, ToffeeObject>()); ObjectLookup.Add(tObject.GetType(), new Dictionary <uint, ToffeeObject>()); Objects[tObject.GetType()].Add(tObject); ObjectIdentifierLookup[tObject.GetType()].Add(tObject.FullName, tObject); ObjectLookup[tObject.GetType()].Add(tObject.ObjectId, tObject); } }