예제 #1
0
        protected static void SetObjectDictNullable(BorrowedReference ob, StolenReference value)
        {
            BorrowedReference type = Runtime.PyObject_TYPE(ob);
            int instanceDictOffset = Util.ReadInt32(type, TypeOffset.tp_dictoffset);

            Debug.Assert(instanceDictOffset > 0);
            Runtime.ReplaceReference(ob, instanceDictOffset, value.AnalyzerWorkaround());
        }
예제 #2
0
 protected static void SetObjectDict(BorrowedReference ob, StolenReference value)
 {
     if (value.Pointer == IntPtr.Zero)
     {
         throw new ArgumentNullException(nameof(value));
     }
     SetObjectDictNullable(ob, value.AnalyzerWorkaround());
 }