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

Commitf65297a

Browse files
committed
Fix geninterop script and regenerate interop39.cs
1 parent4cb551e commitf65297a

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

‎src/runtime/interop39.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,24 @@ namespace Python.Runtime
1515
{
1616

1717
[StructLayout(LayoutKind.Sequential)]
18-
internalstaticpartialclassTypeOffset
18+
internalstaticclassTypeOffset
1919
{
20+
staticTypeOffset()
21+
{
22+
Typetype=typeof(TypeOffset);
23+
FieldInfo[]fi=type.GetFields();
24+
intsize=IntPtr.Size;
25+
for(inti=0;i<fi.Length;i++)
26+
{
27+
fi[i].SetValue(null,i*size);
28+
}
29+
}
30+
31+
publicstaticintmagic()
32+
{
33+
returnob_size;
34+
}
35+
2036
// Auto-generated from PyHeapTypeObject in Python.h
2137
publicstaticintob_refcnt=0;
2238
publicstaticintob_type=0;
@@ -225,3 +241,4 @@ internal static partial class SlotTypes
225241

226242
}
227243
#endif
244+

‎tools/geninterop/geninterop.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,24 @@ def gen_heap_type_members(parser, writer):
289289
members=parser.get_struct_members("PyHeapTypeObject")
290290
class_definition="""
291291
[StructLayout(LayoutKind.Sequential)]
292-
internal staticpartialclass TypeOffset
292+
internal static class TypeOffset
293293
{
294+
static TypeOffset()
295+
{
296+
Type type = typeof(TypeOffset);
297+
FieldInfo[] fi = type.GetFields();
298+
int size = IntPtr.Size;
299+
for (int i = 0; i < fi.Length; i++)
300+
{
301+
fi[i].SetValue(null, i * size);
302+
}
303+
}
304+
305+
public static int magic()
306+
{
307+
return ob_size;
308+
}
309+
294310
// Auto-generated from PyHeapTypeObject in Python.h
295311
"""
296312

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp