Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfefa322

Browse files
committed
drop _PyObject_GetDictPtr and use PyObject_GenericGetDict instead
1 parentb2c15a4 commitfefa322

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

‎src/runtime/importhook.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ internal static unsafe void Initialize()
9595

9696
// both dicts are borrowed references
9797
BorrowedReferencemod_dict=Runtime.PyModule_GetDict(ClrModuleReference);
98-
BorrowedReferenceclr_dict=*Runtime._PyObject_GetDictPtr(root.ObjectReference);
98+
usingvarclr_dict=Runtime.PyObject_GenericGetDict(root.ObjectReference);
9999

100100
Runtime.PyDict_Update(mod_dict,clr_dict);
101101
BorrowedReferencedict=Runtime.PyImport_GetModuleDict();
@@ -157,8 +157,10 @@ public static unsafe NewReference GetCLRModule(BorrowedReference fromList = defa
157157
// update the module dictionary with the contents of the root dictionary
158158
root.LoadNames();
159159
BorrowedReferencepy_mod_dict=Runtime.PyModule_GetDict(ClrModuleReference);
160-
BorrowedReferenceclr_dict=*Runtime._PyObject_GetDictPtr(root.ObjectReference);
161-
Runtime.PyDict_Update(py_mod_dict,clr_dict);
160+
using(varclr_dict=Runtime.PyObject_GenericGetDict(root.ObjectReference))
161+
{
162+
Runtime.PyDict_Update(py_mod_dict,clr_dict);
163+
}
162164

163165
// find any items from the from list and get them from the root if they're not
164166
// already in the module dictionary

‎src/runtime/runtime.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2016,9 +2016,8 @@ internal static IntPtr PyType_GenericAlloc(IntPtr type, long n)
20162016

20172017
internalstaticintPyObject_GenericSetAttr(IntPtrobj,IntPtrname,IntPtrvalue)=>Delegates.PyObject_GenericSetAttr(obj,name,value);
20182018

2019-
2020-
internalstaticBorrowedReference*_PyObject_GetDictPtr(BorrowedReferenceobj)=>Delegates._PyObject_GetDictPtr(obj);
2021-
2019+
internalstaticNewReferencePyObject_GenericGetDict(BorrowedReferenceo)=>PyObject_GenericGetDict(o,IntPtr.Zero);
2020+
internalstaticNewReferencePyObject_GenericGetDict(BorrowedReferenceo,IntPtrcontext)=>Delegates.PyObject_GenericGetDict(o,context);
20222021

20232022
internalstaticvoidPyObject_GC_Del(IntPtrtp)=>Delegates.PyObject_GC_Del(tp);
20242023

@@ -2466,8 +2465,8 @@ static Delegates()
24662465
PyType_Ready=(delegate* unmanaged[Cdecl]<IntPtr,int>)GetFunctionByName(nameof(PyType_Ready),GetUnmanagedDll(_PythonDll));
24672466
_PyType_Lookup=(delegate* unmanaged[Cdecl]<IntPtr,IntPtr,IntPtr>)GetFunctionByName(nameof(_PyType_Lookup),GetUnmanagedDll(_PythonDll));
24682467
PyObject_GenericGetAttr=(delegate* unmanaged[Cdecl]<IntPtr,IntPtr,IntPtr>)GetFunctionByName(nameof(PyObject_GenericGetAttr),GetUnmanagedDll(_PythonDll));
2468+
PyObject_GenericGetDict=(delegate* unmanaged[Cdecl]<BorrowedReference,IntPtr,NewReference>)GetFunctionByName(nameof(PyObject_GenericGetDict),GetUnmanagedDll(PythonDLL));
24692469
PyObject_GenericSetAttr=(delegate* unmanaged[Cdecl]<IntPtr,IntPtr,IntPtr,int>)GetFunctionByName(nameof(PyObject_GenericSetAttr),GetUnmanagedDll(_PythonDll));
2470-
_PyObject_GetDictPtr=(delegate* unmanaged[Cdecl]<BorrowedReference,BorrowedReference*>)GetFunctionByName(nameof(_PyObject_GetDictPtr),GetUnmanagedDll(_PythonDll));
24712470
PyObject_GC_Del=(delegate* unmanaged[Cdecl]<IntPtr,void>)GetFunctionByName(nameof(PyObject_GC_Del),GetUnmanagedDll(_PythonDll));
24722471
PyObject_GC_Track=(delegate* unmanaged[Cdecl]<IntPtr,void>)GetFunctionByName(nameof(PyObject_GC_Track),GetUnmanagedDll(_PythonDll));
24732472
PyObject_GC_UnTrack=(delegate* unmanaged[Cdecl]<IntPtr,void>)GetFunctionByName(nameof(PyObject_GC_UnTrack),GetUnmanagedDll(_PythonDll));
@@ -2732,7 +2731,6 @@ static Delegates()
27322731
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,IntPtr,IntPtr>_PyType_Lookup{get;}
27332732
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,IntPtr,IntPtr>PyObject_GenericGetAttr{get;}
27342733
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,IntPtr,IntPtr,int>PyObject_GenericSetAttr{get;}
2735-
internalstaticdelegate* unmanaged[Cdecl]<BorrowedReference,BorrowedReference*>_PyObject_GetDictPtr{get;}
27362734
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,void>PyObject_GC_Del{get;}
27372735
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,void>PyObject_GC_Track{get;}
27382736
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,void>PyObject_GC_UnTrack{get;}
@@ -2769,6 +2767,7 @@ static Delegates()
27692767
internalstaticdelegate* unmanaged[Cdecl]<IntPtr,IntPtr,void>PyException_SetCause{get;}
27702768
internalstaticdelegate* unmanaged[Cdecl]<uint,IntPtr,int>PyThreadState_SetAsyncExcLLP64{get;}
27712769
internalstaticdelegate* unmanaged[Cdecl]<ulong,IntPtr,int>PyThreadState_SetAsyncExcLP64{get;}
2770+
internalstaticdelegate* unmanaged[Cdecl]<BorrowedReference,IntPtr,NewReference>PyObject_GenericGetDict{get;}
27722771
}
27732772
}
27742773

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp