Esempio n. 1
0
 protected override void PreProcess(Delegate obj, object parent, FieldInfo field)
 {
     if (obj.Target != null)
     {
         ObjectLookup.Add(obj.Target, obj, null);
     }
 }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
 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);
     }
 }