debugpy 1.8.5__zip → 1.8.7__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. {debugpy-1.8.5/src/debugpy.egg-info → debugpy-1.8.7}/PKG-INFO +1 -1
  2. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
  3. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
  4. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
  5. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
  6. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
  7. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
  8. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
  9. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
  10. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
  11. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
  12. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
  13. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
  14. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
  15. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
  16. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
  17. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
  18. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
  19. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
  20. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
  21. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
  22. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
  23. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
  24. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
  25. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
  26. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
  27. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
  28. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
  29. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
  30. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
  31. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
  32. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
  33. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
  34. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
  35. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
  36. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
  37. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
  38. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
  39. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
  40. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
  41. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
  42. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +328 -0
  43. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
  44. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
  45. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
  46. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
  47. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
  48. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
  49. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
  50. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
  51. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
  52. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
  53. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
  54. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
  55. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +159 -127
  56. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
  57. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +55527 -0
  58. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
  59. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +803 -511
  60. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
  61. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
  62. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
  63. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
  64. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
  65. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
  66. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
  67. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
  68. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
  69. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
  70. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +69 -61
  71. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
  72. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
  73. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
  74. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
  75. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
  76. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
  77. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
  78. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
  79. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
  80. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
  81. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
  82. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
  83. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
  84. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
  85. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
  86. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
  87. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
  88. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
  89. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
  90. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
  91. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
  92. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
  93. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
  94. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
  95. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
  96. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
  97. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
  98. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
  99. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
  100. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
  101. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
  102. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
  103. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
  104. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
  105. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
  106. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
  107. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
  108. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
  109. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
  110. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
  111. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
  112. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
  113. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
  114. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
  115. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
  116. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
  117. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
  118. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
  119. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
  120. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
  121. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
  122. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
  123. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1929 -0
  124. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43253 -0
  125. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
  126. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1935 -0
  127. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
  128. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
  129. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
  130. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
  131. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
  132. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
  133. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
  134. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
  135. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
  136. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
  137. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
  138. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
  139. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
  140. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
  141. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
  142. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
  143. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
  144. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
  145. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
  146. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
  147. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
  148. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
  149. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
  150. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
  151. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
  152. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
  153. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
  154. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
  155. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  156. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  157. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
  158. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
  159. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  160. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  161. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
  162. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
  163. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  164. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  165. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
  166. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  167. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
  168. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  169. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  170. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  171. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  172. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
  173. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
  174. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
  175. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
  176. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
  177. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
  178. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
  179. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
  180. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
  181. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
  182. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
  183. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
  184. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
  185. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
  186. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
  187. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
  188. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
  189. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
  190. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
  191. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
  192. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
  193. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
  194. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
  195. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
  196. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
  197. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
  198. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
  199. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
  200. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
  201. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
  202. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
  203. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
  204. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
  205. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
  206. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
  207. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
  208. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
  209. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
  210. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
  211. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
  212. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
  213. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
  214. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
  215. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
  216. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
  217. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
  218. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
  219. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
  220. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
  221. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_version.py +3 -3
  222. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/messaging.py +2 -1
  223. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/cli.py +32 -17
  224. {debugpy-1.8.5 → debugpy-1.8.7/src/debugpy.egg-info}/PKG-INFO +1 -1
  225. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/SOURCES.txt +6 -1
  226. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
  227. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
  228. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
  229. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
  230. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
  231. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
  232. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +0 -43377
  233. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
  234. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
  235. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
  236. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
  237. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
  238. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
  239. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
  240. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
  241. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
  242. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
  243. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
  244. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  245. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  246. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
  247. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  248. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  249. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  250. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  251. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  252. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  253. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  254. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  255. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  256. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
  257. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
  258. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
  259. {debugpy-1.8.5 → debugpy-1.8.7}/DESCRIPTION.md +0 -0
  260. {debugpy-1.8.5 → debugpy-1.8.7}/LICENSE +0 -0
  261. {debugpy-1.8.5 → debugpy-1.8.7}/MANIFEST.in +0 -0
  262. {debugpy-1.8.5 → debugpy-1.8.7}/README.md +0 -0
  263. {debugpy-1.8.5 → debugpy-1.8.7}/pyproject.toml +0 -0
  264. {debugpy-1.8.5 → debugpy-1.8.7}/setup.cfg +0 -0
  265. {debugpy-1.8.5 → debugpy-1.8.7}/setup.py +0 -0
  266. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/ThirdPartyNotices.txt +0 -0
  267. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__init__.py +0 -0
  268. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__main__.py +0 -0
  269. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/__init__.py +0 -0
  270. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
  271. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_util.py +0 -0
  272. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/force_pydevd.py +0 -0
  273. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
  274. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
  275. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
  276. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
  277. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
  278. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
  279. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
  280. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
  281. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
  282. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
  283. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
  284. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
  285. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
  286. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
  287. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
  288. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
  289. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
  290. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
  291. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
  292. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
  293. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
  294. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
  295. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
  296. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
  297. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
  298. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
  299. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
  300. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
  301. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
  302. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
  303. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
  304. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
  305. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
  306. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
  307. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
  308. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
  309. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
  310. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
  311. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
  312. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__init__.py +0 -0
  313. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__main__.py +0 -0
  314. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/clients.py +0 -0
  315. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/components.py +0 -0
  316. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/launchers.py +0 -0
  317. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/servers.py +0 -0
  318. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/sessions.py +0 -0
  319. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/__init__.py +0 -0
  320. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/json.py +0 -0
  321. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/log.py +0 -0
  322. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/singleton.py +0 -0
  323. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/sockets.py +0 -0
  324. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/stacks.py +0 -0
  325. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/timestamp.py +0 -0
  326. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/util.py +0 -0
  327. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__init__.py +0 -0
  328. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__main__.py +0 -0
  329. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/debuggee.py +0 -0
  330. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/handlers.py +0 -0
  331. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/output.py +0 -0
  332. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/winapi.py +0 -0
  333. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/public_api.py +0 -0
  334. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/__init__.py +0 -0
  335. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/api.py +0 -0
  336. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/attach_pid_injected.py +0 -0
  337. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/dependency_links.txt +0 -0
  338. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/entry_points.txt +0 -0
  339. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/top_level.txt +0 -0
  340. {debugpy-1.8.5 → debugpy-1.8.7}/versioneer.py +0 -0
@@ -9,17 +9,19 @@ from _pydevd_bundle.pydevd_api import PyDevdAPI
9
9
 
10
10
 
11
11
  class Jinja2LineBreakpoint(LineBreakpointWithLazyValidation):
12
-
13
- def __init__(self, canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=None, is_logpoint=False):
12
+ def __init__(
13
+ self, canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=None, is_logpoint=False
14
+ ):
14
15
  self.canonical_normalized_filename = canonical_normalized_filename
15
- LineBreakpointWithLazyValidation.__init__(self, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint)
16
+ LineBreakpointWithLazyValidation.__init__(
17
+ self, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint
18
+ )
16
19
 
17
20
  def __str__(self):
18
21
  return "Jinja2LineBreakpoint: %s-%d" % (self.canonical_normalized_filename, self.line)
19
22
 
20
23
 
21
24
  class _Jinja2ValidationInfo(ValidationInfo):
22
-
23
25
  @overrides(ValidationInfo._collect_valid_lines_in_template_uncached)
24
26
  def _collect_valid_lines_in_template_uncached(self, template):
25
27
  lineno_mapping = _get_frame_lineno_mapping(template)
@@ -29,10 +31,32 @@ class _Jinja2ValidationInfo(ValidationInfo):
29
31
  return set(x[0] for x in lineno_mapping)
30
32
 
31
33
 
32
- def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, breakpoint_id, line, condition, expression, func_name, hit_condition=None, is_logpoint=False, add_breakpoint_result=None, on_changed_breakpoint_state=None):
33
- if type == 'jinja2-line':
34
- jinja2_line_breakpoint = Jinja2LineBreakpoint(canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint)
35
- if not hasattr(pydb, 'jinja2_breakpoints'):
34
+ def add_line_breakpoint(
35
+ pydb,
36
+ type,
37
+ canonical_normalized_filename,
38
+ breakpoint_id,
39
+ line,
40
+ condition,
41
+ expression,
42
+ func_name,
43
+ hit_condition=None,
44
+ is_logpoint=False,
45
+ add_breakpoint_result=None,
46
+ on_changed_breakpoint_state=None,
47
+ ):
48
+ if type == "jinja2-line":
49
+ jinja2_line_breakpoint = Jinja2LineBreakpoint(
50
+ canonical_normalized_filename,
51
+ breakpoint_id,
52
+ line,
53
+ condition,
54
+ func_name,
55
+ expression,
56
+ hit_condition=hit_condition,
57
+ is_logpoint=is_logpoint,
58
+ )
59
+ if not hasattr(pydb, "jinja2_breakpoints"):
36
60
  _init_plugin_breaks(pydb)
37
61
 
38
62
  add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_LAZY_VALIDATION
@@ -43,23 +67,24 @@ def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, break
43
67
  return None
44
68
 
45
69
 
46
- def after_breakpoints_consolidated(plugin, py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints):
70
+ def after_breakpoints_consolidated(py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints):
47
71
  jinja2_breakpoints_for_file = file_to_line_to_breakpoints.get(canonical_normalized_filename)
48
72
  if not jinja2_breakpoints_for_file:
49
73
  return
50
74
 
51
- if not hasattr(py_db, 'jinja2_validation_info'):
75
+ if not hasattr(py_db, "jinja2_validation_info"):
52
76
  _init_plugin_breaks(py_db)
53
77
 
54
78
  # In general we validate the breakpoints only when the template is loaded, but if the template
55
79
  # was already loaded, we can validate the breakpoints based on the last loaded value.
56
80
  py_db.jinja2_validation_info.verify_breakpoints_from_template_cached_lines(
57
- py_db, canonical_normalized_filename, jinja2_breakpoints_for_file)
81
+ py_db, canonical_normalized_filename, jinja2_breakpoints_for_file
82
+ )
58
83
 
59
84
 
60
- def add_exception_breakpoint(plugin, pydb, type, exception):
61
- if type == 'jinja2':
62
- if not hasattr(pydb, 'jinja2_exception_break'):
85
+ def add_exception_breakpoint(pydb, type, exception):
86
+ if type == "jinja2":
87
+ if not hasattr(pydb, "jinja2_exception_break"):
63
88
  _init_plugin_breaks(pydb)
64
89
  pydb.jinja2_exception_break[exception] = True
65
90
  return True
@@ -73,25 +98,25 @@ def _init_plugin_breaks(pydb):
73
98
  pydb.jinja2_validation_info = _Jinja2ValidationInfo()
74
99
 
75
100
 
76
- def remove_all_exception_breakpoints(plugin, pydb):
77
- if hasattr(pydb, 'jinja2_exception_break'):
101
+ def remove_all_exception_breakpoints(pydb):
102
+ if hasattr(pydb, "jinja2_exception_break"):
78
103
  pydb.jinja2_exception_break = {}
79
104
  return True
80
105
  return False
81
106
 
82
107
 
83
- def remove_exception_breakpoint(plugin, pydb, type, exception):
84
- if type == 'jinja2':
108
+ def remove_exception_breakpoint(pydb, exception_type, exception):
109
+ if exception_type == "jinja2":
85
110
  try:
86
111
  del pydb.jinja2_exception_break[exception]
87
112
  return True
88
- except:
113
+ except KeyError:
89
114
  pass
90
115
  return False
91
116
 
92
117
 
93
- def get_breakpoints(plugin, pydb, type):
94
- if type == 'jinja2-line':
118
+ def get_breakpoints(pydb, breakpoint_type):
119
+ if breakpoint_type == "jinja2-line":
95
120
  return pydb.jinja2_breakpoints
96
121
  return None
97
122
 
@@ -134,8 +159,12 @@ def _is_jinja2_context_call(frame):
134
159
 
135
160
 
136
161
  def _is_jinja2_internal_function(frame):
137
- return 'self' in frame.f_locals and frame.f_locals['self'].__class__.__name__ in \
138
- ('LoopContext', 'TemplateReference', 'Macro', 'BlockReference')
162
+ return "self" in frame.f_locals and frame.f_locals["self"].__class__.__name__ in (
163
+ "LoopContext",
164
+ "TemplateReference",
165
+ "Macro",
166
+ "BlockReference",
167
+ )
139
168
 
140
169
 
141
170
  def _find_jinja2_render_frame(frame):
@@ -144,17 +173,16 @@ def _find_jinja2_render_frame(frame):
144
173
 
145
174
  return frame
146
175
 
147
- #=======================================================================================================================
176
+
177
+ # =======================================================================================================================
148
178
  # Jinja2 Frame
149
- #=======================================================================================================================
179
+ # =======================================================================================================================
150
180
 
151
181
 
152
182
  class Jinja2TemplateFrame(object):
153
-
154
183
  IS_PLUGIN_FRAME = True
155
184
 
156
185
  def __init__(self, frame, original_filename=None, template_lineno=None):
157
-
158
186
  if original_filename is None:
159
187
  original_filename = _get_jinja2_template_original_filename(frame)
160
188
 
@@ -162,10 +190,10 @@ class Jinja2TemplateFrame(object):
162
190
  template_lineno = _get_jinja2_template_line(frame)
163
191
 
164
192
  self.back_context = None
165
- if 'context' in frame.f_locals:
193
+ if "context" in frame.f_locals:
166
194
  # sometimes we don't have 'context', e.g. in macros
167
- self.back_context = frame.f_locals['context']
168
- self.f_code = FCode('template', original_filename)
195
+ self.back_context = frame.f_locals["context"]
196
+ self.f_code = FCode("template", original_filename)
169
197
  self.f_lineno = template_lineno
170
198
  self.f_back = frame
171
199
  self.f_globals = {}
@@ -174,7 +202,7 @@ class Jinja2TemplateFrame(object):
174
202
 
175
203
  def _get_real_var_name(self, orig_name):
176
204
  # replace leading number for local variables
177
- parts = orig_name.split('_')
205
+ parts = orig_name.split("_")
178
206
  if len(parts) > 1 and parts[0].isdigit():
179
207
  return parts[1]
180
208
  return orig_name
@@ -182,7 +210,7 @@ class Jinja2TemplateFrame(object):
182
210
  def collect_context(self, frame):
183
211
  res = {}
184
212
  for k, v in frame.f_locals.items():
185
- if not k.startswith('l_'):
213
+ if not k.startswith("l_"):
186
214
  res[k] = v
187
215
  elif v and not _is_missing(v):
188
216
  res[self._get_real_var_name(k[2:])] = v
@@ -193,15 +221,15 @@ class Jinja2TemplateFrame(object):
193
221
 
194
222
  def _change_variable(self, frame, name, value):
195
223
  in_vars_or_parents = False
196
- if 'context' in frame.f_locals:
197
- if name in frame.f_locals['context'].parent:
224
+ if "context" in frame.f_locals:
225
+ if name in frame.f_locals["context"].parent:
198
226
  self.back_context.parent[name] = value
199
227
  in_vars_or_parents = True
200
- if name in frame.f_locals['context'].vars:
228
+ if name in frame.f_locals["context"].vars:
201
229
  self.back_context.vars[name] = value
202
230
  in_vars_or_parents = True
203
231
 
204
- l_name = 'l_' + name
232
+ l_name = "l_" + name
205
233
  if l_name in frame.f_locals:
206
234
  if in_vars_or_parents:
207
235
  frame.f_locals[l_name] = self.back_context.resolve(name)
@@ -210,11 +238,10 @@ class Jinja2TemplateFrame(object):
210
238
 
211
239
 
212
240
  class Jinja2TemplateSyntaxErrorFrame(object):
213
-
214
241
  IS_PLUGIN_FRAME = True
215
242
 
216
243
  def __init__(self, frame, exception_cls_name, filename, lineno, f_locals):
217
- self.f_code = FCode('Jinja2 %s' % (exception_cls_name,), filename)
244
+ self.f_code = FCode("Jinja2 %s" % (exception_cls_name,), filename)
218
245
  self.f_lineno = lineno
219
246
  self.f_back = frame
220
247
  self.f_globals = {}
@@ -222,16 +249,16 @@ class Jinja2TemplateSyntaxErrorFrame(object):
222
249
  self.f_trace = None
223
250
 
224
251
 
225
- def change_variable(plugin, frame, attr, expression):
252
+ def change_variable(frame, attr, expression, default):
226
253
  if isinstance(frame, Jinja2TemplateFrame):
227
254
  result = eval(expression, frame.f_globals, frame.f_locals)
228
255
  frame._change_variable(frame.f_back, attr, result)
229
256
  return result
230
- return False
257
+ return default
231
258
 
232
259
 
233
260
  def _is_missing(item):
234
- if item.__class__.__name__ == 'MissingType':
261
+ if item.__class__.__name__ == "MissingType":
235
262
  return True
236
263
  return False
237
264
 
@@ -240,8 +267,9 @@ def _find_render_function_frame(frame):
240
267
  # in order to hide internal rendering functions
241
268
  old_frame = frame
242
269
  try:
243
- while not ('self' in frame.f_locals and frame.f_locals['self'].__class__.__name__ == 'Template' and \
244
- frame.f_code.co_name == 'render'):
270
+ while not (
271
+ "self" in frame.f_locals and frame.f_locals["self"].__class__.__name__ == "Template" and frame.f_code.co_name == "render"
272
+ ):
245
273
  frame = frame.f_back
246
274
  if frame is None:
247
275
  return old_frame
@@ -253,7 +281,7 @@ def _find_render_function_frame(frame):
253
281
  def _get_jinja2_template_debug_info(frame):
254
282
  frame_globals = frame.f_globals
255
283
 
256
- jinja_template = frame_globals.get('__jinja_template__')
284
+ jinja_template = frame_globals.get("__jinja_template__")
257
285
 
258
286
  if jinja_template is None:
259
287
  return None
@@ -262,10 +290,10 @@ def _get_jinja2_template_debug_info(frame):
262
290
 
263
291
 
264
292
  def _get_frame_lineno_mapping(jinja_template):
265
- '''
293
+ """
266
294
  :rtype: list(tuple(int,int))
267
295
  :return: list((original_line, line_in_frame))
268
- '''
296
+ """
269
297
  # _debug_info is a string with the mapping from frame line to actual line
270
298
  # i.e.: "5=13&8=14"
271
299
  _debug_info = jinja_template._debug_info
@@ -297,30 +325,31 @@ def _convert_to_str(s):
297
325
 
298
326
 
299
327
  def _get_jinja2_template_original_filename(frame):
300
- if '__jinja_template__' in frame.f_globals:
301
- return _convert_to_str(frame.f_globals['__jinja_template__'].filename)
328
+ if "__jinja_template__" in frame.f_globals:
329
+ return _convert_to_str(frame.f_globals["__jinja_template__"].filename)
302
330
 
303
331
  return None
304
332
 
305
- #=======================================================================================================================
333
+
334
+ # =======================================================================================================================
306
335
  # Jinja2 Step Commands
307
- #=======================================================================================================================
336
+ # =======================================================================================================================
308
337
 
309
338
 
310
- def has_exception_breaks(plugin):
311
- if len(plugin.main_debugger.jinja2_exception_break) > 0:
339
+ def has_exception_breaks(py_db):
340
+ if len(py_db.jinja2_exception_break) > 0:
312
341
  return True
313
342
  return False
314
343
 
315
344
 
316
- def has_line_breaks(plugin):
317
- for _canonical_normalized_filename, breakpoints in plugin.main_debugger.jinja2_breakpoints.items():
345
+ def has_line_breaks(py_db):
346
+ for _canonical_normalized_filename, breakpoints in py_db.jinja2_breakpoints.items():
318
347
  if len(breakpoints) > 0:
319
348
  return True
320
349
  return False
321
350
 
322
351
 
323
- def can_skip(plugin, pydb, frame):
352
+ def can_skip(pydb, frame):
324
353
  if pydb.jinja2_breakpoints and _is_jinja2_render_call(frame):
325
354
  filename = _get_jinja2_template_original_filename(frame)
326
355
  if filename is not None:
@@ -333,39 +362,46 @@ def can_skip(plugin, pydb, frame):
333
362
  name = frame.f_code.co_name
334
363
 
335
364
  # errors in compile time
336
- if name in ('template', 'top-level template code', '<module>') or name.startswith('block '):
365
+ if name in ("template", "top-level template code", "<module>") or name.startswith("block "):
337
366
  f_back = frame.f_back
338
- module_name = ''
367
+ module_name = ""
339
368
  if f_back is not None:
340
- module_name = f_back.f_globals.get('__name__', '')
341
- if module_name.startswith('jinja2.'):
369
+ module_name = f_back.f_globals.get("__name__", "")
370
+ if module_name.startswith("jinja2."):
342
371
  return False
343
372
 
344
373
  return True
345
374
 
346
375
 
347
- def cmd_step_into(plugin, pydb, frame, event, args, stop_info, stop):
348
- info = args[2]
349
- thread = args[3]
376
+ is_tracked_frame = _is_jinja2_render_call
377
+
378
+
379
+ def required_events_breakpoint():
380
+ return ("line",)
381
+
382
+
383
+ def required_events_stepping():
384
+ return ("call", "line", "return")
385
+
386
+
387
+ def cmd_step_into(pydb, frame, event, info, thread, stop_info, stop):
350
388
  plugin_stop = False
351
- stop_info['jinja2_stop'] = False
352
389
  if _is_jinja2_suspended(thread):
353
- stop_info['jinja2_stop'] = event in ('call', 'line') and _is_jinja2_render_call(frame)
354
- plugin_stop = stop_info['jinja2_stop']
390
+ plugin_stop = stop_info["jinja2_stop"] = event in ("call", "line") and _is_jinja2_render_call(frame)
355
391
  stop = False
356
392
  if info.pydev_call_from_jinja2 is not None:
357
393
  if _is_jinja2_internal_function(frame):
358
- # if internal Jinja2 function was called, we sould continue debugging inside template
394
+ # if internal Jinja2 function was called, we should continue debugging inside template
359
395
  info.pydev_call_from_jinja2 = None
360
396
  else:
361
397
  # we go into python code from Jinja2 rendering frame
362
398
  stop = True
363
399
 
364
- if event == 'call' and _is_jinja2_context_call(frame.f_back):
400
+ if event == "call" and _is_jinja2_context_call(frame.f_back):
365
401
  # we called function from context, the next step will be in function
366
402
  info.pydev_call_from_jinja2 = 1
367
403
 
368
- if event == 'return' and _is_jinja2_context_call(frame.f_back):
404
+ if event == "return" and _is_jinja2_context_call(frame.f_back):
369
405
  # we return from python code to Jinja2 rendering frame
370
406
  info.pydev_step_stop = info.pydev_call_from_jinja2
371
407
  info.pydev_call_from_jinja2 = None
@@ -378,31 +414,27 @@ def cmd_step_into(plugin, pydb, frame, event, args, stop_info, stop):
378
414
  return stop, plugin_stop
379
415
 
380
416
 
381
- def cmd_step_over(plugin, pydb, frame, event, args, stop_info, stop):
382
- info = args[2]
383
- thread = args[3]
417
+ def cmd_step_over(pydb, frame, event, info, thread, stop_info, stop):
384
418
  plugin_stop = False
385
- stop_info['jinja2_stop'] = False
386
419
  if _is_jinja2_suspended(thread):
387
420
  stop = False
388
421
 
389
422
  if info.pydev_call_inside_jinja2 is None:
390
423
  if _is_jinja2_render_call(frame):
391
- if event == 'call':
424
+ if event == "call":
392
425
  info.pydev_call_inside_jinja2 = frame.f_back
393
- if event in ('line', 'return'):
426
+ if event in ("line", "return"):
394
427
  info.pydev_call_inside_jinja2 = frame
395
428
  else:
396
- if event == 'line':
429
+ if event == "line":
397
430
  if _is_jinja2_render_call(frame) and info.pydev_call_inside_jinja2 is frame:
398
- stop_info['jinja2_stop'] = True
399
- plugin_stop = stop_info['jinja2_stop']
400
- if event == 'return':
401
- if frame is info.pydev_call_inside_jinja2 and 'event' not in frame.f_back.f_locals:
431
+ plugin_stop = stop_info["jinja2_stop"] = True
432
+ if event == "return":
433
+ if frame is info.pydev_call_inside_jinja2 and "event" not in frame.f_back.f_locals:
402
434
  info.pydev_call_inside_jinja2 = _find_jinja2_render_frame(frame.f_back)
403
435
  return stop, plugin_stop
404
436
  else:
405
- if event == 'return' and _is_jinja2_context_call(frame.f_back):
437
+ if event == "return" and _is_jinja2_context_call(frame.f_back):
406
438
  # we return from python code to Jinja2 rendering frame
407
439
  info.pydev_call_from_jinja2 = None
408
440
  info.pydev_call_inside_jinja2 = _find_jinja2_render_frame(frame)
@@ -419,10 +451,8 @@ def cmd_step_over(plugin, pydb, frame, event, args, stop_info, stop):
419
451
  return stop, plugin_stop
420
452
 
421
453
 
422
- def stop(plugin, pydb, frame, event, args, stop_info, arg, step_cmd):
423
- pydb = args[0]
424
- thread = args[3]
425
- if 'jinja2_stop' in stop_info and stop_info['jinja2_stop']:
454
+ def stop(pydb, frame, event, thread, stop_info, arg, step_cmd):
455
+ if "jinja2_stop" in stop_info and stop_info["jinja2_stop"]:
426
456
  frame = _suspend_jinja2(pydb, thread, frame, step_cmd)
427
457
  if frame:
428
458
  pydb.do_wait_suspend(thread, frame, event, arg)
@@ -430,17 +460,13 @@ def stop(plugin, pydb, frame, event, args, stop_info, arg, step_cmd):
430
460
  return False
431
461
 
432
462
 
433
- def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args):
434
- py_db = args[0]
435
- _filename = args[1]
436
- info = args[2]
437
- break_type = 'jinja2'
463
+ def get_breakpoint(py_db, frame, event, info):
464
+ break_type = "jinja2"
438
465
 
439
- if event == 'line' and info.pydev_state != STATE_SUSPEND and py_db.jinja2_breakpoints and _is_jinja2_render_call(frame):
440
-
441
- jinja_template = frame.f_globals.get('__jinja_template__')
466
+ if event == "line" and info.pydev_state != STATE_SUSPEND and py_db.jinja2_breakpoints and _is_jinja2_render_call(frame):
467
+ jinja_template = frame.f_globals.get("__jinja_template__")
442
468
  if jinja_template is None:
443
- return False, None, None, break_type
469
+ return None
444
470
 
445
471
  original_filename = _get_jinja2_template_original_filename(frame)
446
472
  if original_filename is not None:
@@ -449,7 +475,6 @@ def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args):
449
475
  jinja2_breakpoints_for_file = py_db.jinja2_breakpoints.get(canonical_normalized_filename)
450
476
 
451
477
  if jinja2_breakpoints_for_file:
452
-
453
478
  jinja2_validation_info = py_db.jinja2_validation_info
454
479
  jinja2_validation_info.verify_breakpoints(py_db, canonical_normalized_filename, jinja2_breakpoints_for_file, jinja_template)
455
480
 
@@ -458,24 +483,22 @@ def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args):
458
483
  jinja2_breakpoint = jinja2_breakpoints_for_file.get(template_lineno)
459
484
  if jinja2_breakpoint is not None:
460
485
  new_frame = Jinja2TemplateFrame(frame, original_filename, template_lineno)
461
- return True, jinja2_breakpoint, new_frame, break_type
486
+ return jinja2_breakpoint, new_frame, break_type
462
487
 
463
- return False, None, None, break_type
488
+ return None
464
489
 
465
490
 
466
- def suspend(plugin, pydb, thread, frame, bp_type):
467
- if bp_type == 'jinja2':
491
+ def suspend(pydb, thread, frame, bp_type):
492
+ if bp_type == "jinja2":
468
493
  return _suspend_jinja2(pydb, thread, frame)
469
494
  return None
470
495
 
471
496
 
472
- def exception_break(plugin, pydb, pydb_frame, frame, args, arg):
473
- pydb = args[0]
474
- thread = args[3]
497
+ def exception_break(pydb, frame, thread, arg):
475
498
  exception, value, trace = arg
476
499
  if pydb.jinja2_exception_break and exception is not None:
477
500
  exception_type = list(pydb.jinja2_exception_break.keys())[0]
478
- if exception.__name__ in ('UndefinedError', 'TemplateNotFound', 'TemplatesNotFound'):
501
+ if exception.__name__ in ("UndefinedError", "TemplateNotFound", "TemplatesNotFound"):
479
502
  # errors in rendering
480
503
  render_frame = _find_jinja2_render_frame(frame)
481
504
  if render_frame:
@@ -486,19 +509,18 @@ def exception_break(plugin, pydb, pydb_frame, frame, args, arg):
486
509
  frame = suspend_frame
487
510
  return True, frame
488
511
 
489
- elif exception.__name__ in ('TemplateSyntaxError', 'TemplateAssertionError'):
512
+ elif exception.__name__ in ("TemplateSyntaxError", "TemplateAssertionError"):
490
513
  name = frame.f_code.co_name
491
514
 
492
515
  # errors in compile time
493
- if name in ('template', 'top-level template code', '<module>') or name.startswith('block '):
494
-
516
+ if name in ("template", "top-level template code", "<module>") or name.startswith("block "):
495
517
  f_back = frame.f_back
496
518
  if f_back is not None:
497
- module_name = f_back.f_globals.get('__name__', '')
519
+ module_name = f_back.f_globals.get("__name__", "")
498
520
 
499
- if module_name.startswith('jinja2.'):
521
+ if module_name.startswith("jinja2."):
500
522
  # Jinja2 translates exception info and creates fake frame on his own
501
- pydb_frame.set_suspend(thread, CMD_ADD_EXCEPTION_BREAK)
523
+ pydb.set_suspend(thread, CMD_ADD_EXCEPTION_BREAK)
502
524
  add_exception_to_frame(frame, (exception, value, trace))
503
525
  thread.additional_info.suspend_type = JINJA2_SUSPEND
504
526
  thread.additional_info.pydev_message = str(exception_type)
@@ -5,7 +5,6 @@ from _pydev_bundle import pydev_log
5
5
 
6
6
 
7
7
  class LineBreakpointWithLazyValidation(LineBreakpoint):
8
-
9
8
  def __init__(self, *args, **kwargs):
10
9
  LineBreakpoint.__init__(self, *args, **kwargs)
11
10
  # This is the _AddBreakpointResult that'll be modified (and then re-sent on the
@@ -23,7 +22,6 @@ class LineBreakpointWithLazyValidation(LineBreakpoint):
23
22
 
24
23
 
25
24
  class ValidationInfo(object):
26
-
27
25
  def __init__(self):
28
26
  self._canonical_normalized_filename_to_last_template_lines = {}
29
27
 
@@ -32,7 +30,7 @@ class ValidationInfo(object):
32
30
  # template may be a different instance (because the template contents could be
33
31
  # changed on disk), but this may still be called multiple times during the
34
32
  # same render session, so, caching is interesting.
35
- lines_cache = getattr(template, '__pydevd_lines_cache__', None)
33
+ lines_cache = getattr(template, "__pydevd_lines_cache__", None)
36
34
  if lines_cache is not None:
37
35
  lines, sorted_lines = lines_cache
38
36
  return lines, sorted_lines
@@ -48,28 +46,34 @@ class ValidationInfo(object):
48
46
  raise NotImplementedError()
49
47
 
50
48
  def verify_breakpoints(self, py_db, canonical_normalized_filename, template_breakpoints_for_file, template):
51
- '''
49
+ """
52
50
  This function should be called whenever a rendering is detected.
53
51
 
54
52
  :param str canonical_normalized_filename:
55
53
  :param dict[int:LineBreakpointWithLazyValidation] template_breakpoints_for_file:
56
- '''
54
+ """
57
55
  valid_lines_frozenset, sorted_lines = self._collect_valid_lines_in_template(template)
58
56
 
59
57
  self._canonical_normalized_filename_to_last_template_lines[canonical_normalized_filename] = valid_lines_frozenset, sorted_lines
60
- self._verify_breakpoints_with_lines_collected(py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines)
58
+ self._verify_breakpoints_with_lines_collected(
59
+ py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines
60
+ )
61
61
 
62
62
  def verify_breakpoints_from_template_cached_lines(self, py_db, canonical_normalized_filename, template_breakpoints_for_file):
63
- '''
63
+ """
64
64
  This is used when the lines are already available (if just the template is available,
65
65
  `verify_breakpoints` should be used instead).
66
- '''
66
+ """
67
67
  cached = self._canonical_normalized_filename_to_last_template_lines.get(canonical_normalized_filename)
68
68
  if cached is not None:
69
69
  valid_lines_frozenset, sorted_lines = cached
70
- self._verify_breakpoints_with_lines_collected(py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines)
70
+ self._verify_breakpoints_with_lines_collected(
71
+ py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines
72
+ )
71
73
 
72
- def _verify_breakpoints_with_lines_collected(self, py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines):
74
+ def _verify_breakpoints_with_lines_collected(
75
+ self, py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines
76
+ ):
73
77
  for line, template_bp in list(template_breakpoints_for_file.items()): # Note: iterate in a copy (we may mutate it).
74
78
  if template_bp.verified_cache_key != valid_lines_frozenset:
75
79
  template_bp.verified_cache_key = valid_lines_frozenset
@@ -86,8 +90,13 @@ class ValidationInfo(object):
86
90
  if new_line >= 0 and new_line not in template_breakpoints_for_file:
87
91
  # We just add it if found and if there's no existing breakpoint at that
88
92
  # location.
89
- if template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_NO_ERROR and template_bp.add_breakpoint_result.translated_line != new_line:
90
- pydev_log.debug('Template breakpoint in %s in line: %s moved to line: %s', canonical_normalized_filename, line, new_line)
93
+ if (
94
+ template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_NO_ERROR
95
+ and template_bp.add_breakpoint_result.translated_line != new_line
96
+ ):
97
+ pydev_log.debug(
98
+ "Template breakpoint in %s in line: %s moved to line: %s", canonical_normalized_filename, line, new_line
99
+ )
91
100
  template_bp.add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_NO_ERROR
92
101
  template_bp.add_breakpoint_result.translated_line = new_line
93
102
 
@@ -97,11 +106,15 @@ class ValidationInfo(object):
97
106
  template_bp.on_changed_breakpoint_state(template_bp.breakpoint_id, template_bp.add_breakpoint_result)
98
107
  else:
99
108
  if template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_INVALID_LINE:
100
- pydev_log.debug('Template breakpoint in %s in line: %s invalid (valid lines: %s)', canonical_normalized_filename, line, valid_lines_frozenset)
109
+ pydev_log.debug(
110
+ "Template breakpoint in %s in line: %s invalid (valid lines: %s)",
111
+ canonical_normalized_filename,
112
+ line,
113
+ valid_lines_frozenset,
114
+ )
101
115
  template_bp.add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_INVALID_LINE
102
116
  template_bp.on_changed_breakpoint_state(template_bp.breakpoint_id, template_bp.add_breakpoint_result)
103
117
  else:
104
118
  if template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_NO_ERROR:
105
119
  template_bp.add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_NO_ERROR
106
120
  template_bp.on_changed_breakpoint_state(template_bp.breakpoint_id, template_bp.add_breakpoint_result)
107
-