mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
72 lines
2.3 KiB
Python
72 lines
2.3 KiB
Python
import sys
|
|
|
|
# This version number is always available
|
|
from _pydevd_bundle.pydevd_additional_thread_info_regular import version as regular_version
|
|
|
|
try:
|
|
try:
|
|
from _pydevd_bundle_ext import pydevd_cython as mod
|
|
|
|
except ImportError:
|
|
from _pydevd_bundle import pydevd_cython as mod
|
|
|
|
except ImportError:
|
|
import struct
|
|
|
|
try:
|
|
is_python_64bit = (struct.calcsize('P') == 8)
|
|
except:
|
|
# In Jython this call fails, but this is Ok, we don't support Jython for speedups anyways.
|
|
raise ImportError
|
|
plat = '32'
|
|
if is_python_64bit:
|
|
plat = '64'
|
|
|
|
# We also accept things as:
|
|
#
|
|
# _pydevd_bundle.pydevd_cython_win32_27_32
|
|
# _pydevd_bundle.pydevd_cython_win32_34_64
|
|
#
|
|
# to have multiple pre-compiled pyds distributed along the IDE
|
|
# (generated by build_tools/build_binaries_windows.py).
|
|
|
|
mod_name = 'pydevd_cython_%s_%s%s_%s' % (sys.platform, sys.version_info[0], sys.version_info[1], plat)
|
|
check_name = '_pydevd_bundle.%s' % (mod_name,)
|
|
mod = getattr(__import__(check_name), mod_name)
|
|
|
|
# Regardless of how it was found, make sure it's later available as the
|
|
# initial name so that the expected types from Cython in frame eval
|
|
# are valid.
|
|
sys.modules['_pydevd_bundle.pydevd_cython'] = mod
|
|
|
|
# This version number from the already compiled Cython extension
|
|
version = getattr(mod, 'version', 0)
|
|
|
|
if version != regular_version:
|
|
exc = ImportError()
|
|
exc.version_mismatch = True
|
|
raise exc
|
|
|
|
trace_dispatch = mod.trace_dispatch
|
|
|
|
PyDBAdditionalThreadInfo = mod.PyDBAdditionalThreadInfo
|
|
|
|
set_additional_thread_info = mod.set_additional_thread_info
|
|
|
|
global_cache_skips = mod.global_cache_skips
|
|
|
|
global_cache_frame_skips = mod.global_cache_frame_skips
|
|
|
|
_set_additional_thread_info_lock = mod._set_additional_thread_info_lock
|
|
|
|
fix_top_level_trace_and_get_trace_func = mod.fix_top_level_trace_and_get_trace_func
|
|
|
|
# Common frame functions to be used in PEP 669 debugger callbacks.
|
|
handle_breakpoint_condition = mod.handle_breakpoint_condition
|
|
handle_breakpoint_expression = mod.handle_breakpoint_expression
|
|
DEBUG_START = mod.DEBUG_START
|
|
DEBUG_START_PY3K = mod.DEBUG_START_PY3K
|
|
should_stop_on_exception = mod.should_stop_on_exception
|
|
handle_exception = mod.handle_exception
|
|
manage_return_values = mod.manage_return_values
|