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

Commit0faebb2

Browse files
committed
drop _PyObject_GetDictPtr and use PyObject_GenericGetDict instead
1 parent113c2e4 commit0faebb2

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
@@ -94,7 +94,7 @@ internal static unsafe void Initialize()
9494

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

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

162164
// find any items from the from list and get them from the root if they're not
163165
// 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