File: moduledef.py

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (39 lines) | stat: -rw-r--r-- 1,860 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from pypy.interpreter.mixedmodule import MixedModule

class Module(MixedModule):
    "This module bridges the cppyy frontend with its backend, through PyPy.\n\
    See http://cppyy.readthedocs.io/en/latest for full details."

    interpleveldefs = {
        '_resolve_name'          : 'interp_cppyy.resolve_name',
        '_scope_byname'          : 'interp_cppyy.scope_byname',
        '_is_static_data'        : 'interp_cppyy.is_static_data',
        '_is_template'           : 'interp_cppyy.is_template',
        '_std_string_name'       : 'interp_cppyy.std_string_name',
        '_set_class_generator'   : 'interp_cppyy.set_class_generator',
        '_set_function_generator': 'interp_cppyy.set_function_generator',
        '_register_class'        : 'interp_cppyy.register_class',
        '_get_nullptr'           : 'interp_cppyy.get_nullptr',
        'CPPInstance'            : 'interp_cppyy.W_CPPInstance',
        'addressof'              : 'interp_cppyy.addressof',
        '_bind_object'           : 'interp_cppyy._bind_object',
        'bind_object'            : 'interp_cppyy.bind_object',
        'move'                   : 'interp_cppyy.move',
        '_pin_type'              : 'interp_cppyy._pin_type',
    }

    appleveldefs = {
        '_post_import_startup'   : 'pythonify._post_import_startup',
        'Template'               : 'pythonify.CPPTemplate',
        'add_pythonization'      : 'pythonify.add_pythonization',
        'remove_pythonization'   : 'pythonify.remove_pythonization',
    }

    def __init__(self, space, *args):
        "NOT_RPYTHON"
        MixedModule.__init__(self, space, *args)

        # pythonization functions may be written in RPython, but the interp2app
        # code generation is not, so give it a chance to run now
        from pypy.module._cppyy import capi
        capi.register_pythonizations(space)