jets 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/jets/builders/code_builder.rb +1 -0
  5. data/lib/jets/builders/gem_replacer.rb +1 -0
  6. data/lib/jets/version.rb +1 -1
  7. data/vendor/lambdagem/CHANGELOG.md +3 -0
  8. data/vendor/lambdagem/Gemfile.lock +3 -3
  9. data/vendor/lambdagem/README.md +0 -4
  10. data/vendor/lambdagem/lib/lambdagem.rb +2 -0
  11. data/vendor/lambdagem/lib/lambdagem/base.rb +2 -0
  12. data/vendor/lambdagem/lib/lambdagem/extract/base.rb +6 -6
  13. data/vendor/lambdagem/lib/lambdagem/extract/gem.rb +6 -5
  14. data/vendor/lambdagem/lib/lambdagem/extract/ruby.rb +4 -3
  15. data/vendor/lambdagem/lib/lambdagem/util.rb +30 -0
  16. data/vendor/lambdagem/lib/lambdagem/version.rb +1 -1
  17. metadata +3 -140
  18. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/byebug/byebug.so +0 -0
  19. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem.build_complete +0 -0
  20. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem_make.out +0 -19
  21. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/LICENSE +0 -23
  22. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/exe/byebug +0 -6
  23. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/Makefile +0 -263
  24. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.c +0 -517
  25. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.o +0 -0
  26. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.c +0 -905
  27. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.h +0 -143
  28. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.o +0 -0
  29. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.so +0 -0
  30. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.c +0 -673
  31. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.o +0 -0
  32. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/extconf.rb +0 -12
  33. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.c +0 -96
  34. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.o +0 -0
  35. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.c +0 -230
  36. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.o +0 -0
  37. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug.rb +0 -3
  38. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/attacher.rb +0 -48
  39. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/breakpoint.rb +0 -111
  40. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/byebug.so +0 -0
  41. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command.rb +0 -111
  42. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command_list.rb +0 -34
  43. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands.rb +0 -39
  44. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/break.rb +0 -116
  45. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/catch.rb +0 -82
  46. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/condition.rb +0 -57
  47. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/continue.rb +0 -50
  48. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/debug.rb +0 -38
  49. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/delete.rb +0 -57
  50. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable.rb +0 -33
  51. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/breakpoints.rb +0 -42
  52. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/display.rb +0 -43
  53. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/display.rb +0 -66
  54. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/down.rb +0 -45
  55. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/edit.rb +0 -68
  56. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable.rb +0 -33
  57. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/breakpoints.rb +0 -42
  58. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/display.rb +0 -43
  59. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/finish.rb +0 -57
  60. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/frame.rb +0 -57
  61. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/help.rb +0 -64
  62. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/history.rb +0 -39
  63. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info.rb +0 -37
  64. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/breakpoints.rb +0 -67
  65. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/display.rb +0 -51
  66. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/file.rb +0 -82
  67. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/line.rb +0 -35
  68. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/program.rb +0 -49
  69. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/interrupt.rb +0 -34
  70. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/irb.rb +0 -52
  71. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/kill.rb +0 -47
  72. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/list.rb +0 -159
  73. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/method.rb +0 -53
  74. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/next.rb +0 -40
  75. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/pry.rb +0 -43
  76. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/quit.rb +0 -42
  77. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/restart.rb +0 -64
  78. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/save.rb +0 -72
  79. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/set.rb +0 -79
  80. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/show.rb +0 -45
  81. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/source.rb +0 -42
  82. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/step.rb +0 -40
  83. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread.rb +0 -34
  84. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/current.rb +0 -37
  85. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/list.rb +0 -43
  86. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/resume.rb +0 -47
  87. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/stop.rb +0 -43
  88. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/switch.rb +0 -46
  89. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/tracevar.rb +0 -57
  90. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/undisplay.rb +0 -52
  91. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/untracevar.rb +0 -36
  92. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/up.rb +0 -45
  93. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var.rb +0 -37
  94. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/all.rb +0 -41
  95. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/args.rb +0 -39
  96. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/const.rb +0 -51
  97. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/global.rb +0 -37
  98. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/instance.rb +0 -39
  99. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/local.rb +0 -39
  100. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/where.rb +0 -53
  101. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/context.rb +0 -157
  102. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/core.rb +0 -114
  103. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/errors.rb +0 -29
  104. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/frame.rb +0 -185
  105. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/bin.rb +0 -47
  106. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/eval.rb +0 -126
  107. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/file.rb +0 -63
  108. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/frame.rb +0 -75
  109. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/parse.rb +0 -77
  110. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/path.rb +0 -40
  111. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/reflection.rb +0 -19
  112. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/string.rb +0 -36
  113. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/thread.rb +0 -67
  114. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/toggle.rb +0 -64
  115. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/var.rb +0 -54
  116. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/history.rb +0 -130
  117. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interface.rb +0 -146
  118. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/local_interface.rb +0 -44
  119. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/remote_interface.rb +0 -50
  120. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/script_interface.rb +0 -32
  121. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/test_interface.rb +0 -67
  122. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/option_setter.rb +0 -95
  123. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/base.rb +0 -69
  124. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/plain.rb +0 -44
  125. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/base.yml +0 -115
  126. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/plain.yml +0 -33
  127. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/command_processor.rb +0 -173
  128. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/control_processor.rb +0 -24
  129. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/post_mortem_processor.rb +0 -18
  130. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/script_processor.rb +0 -49
  131. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote.rb +0 -85
  132. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/client.rb +0 -55
  133. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/server.rb +0 -47
  134. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/runner.rb +0 -198
  135. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/setting.rb +0 -79
  136. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autoirb.rb +0 -29
  137. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autolist.rb +0 -29
  138. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autopry.rb +0 -29
  139. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autosave.rb +0 -17
  140. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/basename.rb +0 -16
  141. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/callstyle.rb +0 -20
  142. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/fullpath.rb +0 -16
  143. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histfile.rb +0 -20
  144. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histsize.rb +0 -20
  145. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/linetrace.rb +0 -22
  146. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/listsize.rb +0 -21
  147. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/post_mortem.rb +0 -27
  148. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/savefile.rb +0 -20
  149. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/stack_on_error.rb +0 -15
  150. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/width.rb +0 -20
  151. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/source_file_formatter.rb +0 -71
  152. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/subcommands.rb +0 -54
  153. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/version.rb +0 -8
  154. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/specifications/byebug-10.0.0.gemspec +0 -39
@@ -1,143 +0,0 @@
1
- #ifndef BYEBUG
2
- #define BYEBUG
3
-
4
- #include <ruby.h>
5
- #include <ruby/debug.h>
6
-
7
- /* To prevent unused parameter warnings */
8
- #define UNUSED(x) (void)(x)
9
-
10
- /* flags */
11
- #define CTX_FL_DEAD (1 << 1) /* this context belonged to a dead thread */
12
- #define CTX_FL_IGNORE (1 << 2) /* this context belongs to ignored thread */
13
- #define CTX_FL_SUSPEND (1 << 3) /* thread currently suspended */
14
- #define CTX_FL_TRACING (1 << 4) /* call at_tracing method */
15
- #define CTX_FL_WAS_RUNNING (1 << 5) /* thread was previously running */
16
- #define CTX_FL_STOP_ON_RET (1 << 6) /* can stop on method 'end' */
17
- #define CTX_FL_IGNORE_STEPS (1 << 7) /* doesn't countdown steps to break */
18
-
19
- /* macro functions */
20
- #define CTX_FL_TEST(c, f) ((c)->flags & (f))
21
- #define CTX_FL_SET(c, f) \
22
- do \
23
- { \
24
- (c)->flags |= (f); \
25
- } while (0)
26
- #define CTX_FL_UNSET(c, f) \
27
- do \
28
- { \
29
- (c)->flags &= ~(f); \
30
- } while (0)
31
-
32
- /* types */
33
- typedef enum {
34
- CTX_STOP_NONE,
35
- CTX_STOP_STEP,
36
- CTX_STOP_BREAKPOINT,
37
- CTX_STOP_CATCHPOINT
38
- } ctx_stop_reason;
39
-
40
- typedef struct
41
- {
42
- int calced_stack_size;
43
- int flags;
44
- ctx_stop_reason stop_reason;
45
-
46
- VALUE thread;
47
- int thnum;
48
-
49
- int dest_frame; /* next stop's frame if stopped by next */
50
- int lines; /* # of lines in dest_frame before stopping */
51
- int steps; /* # of steps before stopping */
52
- int steps_out; /* # of returns before stopping */
53
-
54
- VALUE backtrace; /* [[loc, self, klass, binding], ...] */
55
- } debug_context_t;
56
-
57
- typedef enum {
58
- LOCATION,
59
- SELF,
60
- CLASS,
61
- BINDING
62
- } frame_part;
63
-
64
- struct call_with_inspection_data
65
- {
66
- debug_context_t *dc;
67
- VALUE ctx;
68
- ID id;
69
- int argc;
70
- VALUE *argv;
71
- };
72
-
73
- typedef struct
74
- {
75
- st_table *tbl;
76
- } threads_table_t;
77
-
78
- enum bp_type
79
- {
80
- BP_POS_TYPE,
81
- BP_METHOD_TYPE
82
- };
83
-
84
- enum hit_condition
85
- {
86
- HIT_COND_NONE,
87
- HIT_COND_GE,
88
- HIT_COND_EQ,
89
- HIT_COND_MOD
90
- };
91
-
92
- typedef struct
93
- {
94
- int id;
95
- enum bp_type type;
96
- VALUE source;
97
- union
98
- {
99
- int line;
100
- ID mid;
101
- } pos;
102
- VALUE expr;
103
- VALUE enabled;
104
- int hit_count;
105
- int hit_value;
106
- enum hit_condition hit_condition;
107
- } breakpoint_t;
108
-
109
- /* functions from locker.c */
110
- extern void add_to_locked(VALUE thread);
111
- extern VALUE pop_from_locked();
112
- extern void remove_from_locked(VALUE thread);
113
-
114
- /* functions from threads.c */
115
- extern void Init_threads_table(VALUE mByebug);
116
- extern VALUE create_threads_table(void);
117
- extern void thread_context_lookup(VALUE thread, VALUE *context);
118
- extern int is_living_thread(VALUE thread);
119
- extern void acquire_lock(debug_context_t *dc);
120
- extern void release_lock(void);
121
-
122
- /* global variables */
123
- extern VALUE threads;
124
- extern VALUE next_thread;
125
-
126
- /* functions from context.c */
127
- extern void Init_context(VALUE mByebug);
128
- extern VALUE context_create(VALUE thread);
129
- extern VALUE context_dup(debug_context_t *context);
130
- extern void reset_stepping_stop_points(debug_context_t *context);
131
- extern VALUE call_with_debug_inspector(struct call_with_inspection_data *data);
132
- extern VALUE context_backtrace_set(const rb_debug_inspector_t *inspector,
133
- void *data);
134
-
135
- /* functions from breakpoint.c */
136
- extern void Init_breakpoint(VALUE mByebug);
137
- extern VALUE find_breakpoint_by_pos(VALUE breakpoints, VALUE source, VALUE pos,
138
- VALUE bind);
139
-
140
- extern VALUE find_breakpoint_by_method(VALUE breakpoints, VALUE klass,
141
- VALUE mid, VALUE bind, VALUE self);
142
-
143
- #endif
@@ -1,673 +0,0 @@
1
- #include "byebug.h"
2
-
3
- static VALUE cContext;
4
- static VALUE cDebugThread;
5
- static int thnum_max = 0;
6
-
7
- /* "Step", "Next" and "Finish" do their work by saving information about where
8
- * to stop next. reset_stepping_stop_points removes/resets this information. */
9
- extern void
10
- reset_stepping_stop_points(debug_context_t *context)
11
- {
12
- context->dest_frame = -1;
13
- context->lines = -1;
14
- context->steps = -1;
15
- context->steps_out = -1;
16
- }
17
-
18
- /*
19
- * call-seq:
20
- * context.dead? -> bool
21
- *
22
- * Returns +true+ if context doesn't represent a live context and is created
23
- * during post-mortem exception handling.
24
- */
25
- static inline VALUE
26
- Context_dead(VALUE self)
27
- {
28
- debug_context_t *context;
29
-
30
- Data_Get_Struct(self, debug_context_t, context);
31
- return CTX_FL_TEST(context, CTX_FL_DEAD) ? Qtrue : Qfalse;
32
- }
33
-
34
- static void
35
- context_mark(void *data)
36
- {
37
- debug_context_t *context = (debug_context_t *)data;
38
-
39
- rb_gc_mark(context->backtrace);
40
- }
41
-
42
- static VALUE
43
- dc_backtrace(const debug_context_t *context)
44
- {
45
- return context->backtrace;
46
- }
47
-
48
- static int
49
- dc_stack_size(debug_context_t *context)
50
- {
51
-
52
- if (NIL_P(dc_backtrace(context)))
53
- return 0;
54
-
55
- return RARRAY_LENINT(dc_backtrace(context));
56
- }
57
-
58
- extern VALUE
59
- context_create(VALUE thread)
60
- {
61
- debug_context_t *context = ALLOC(debug_context_t);
62
-
63
- context->flags = 0;
64
- context->thnum = ++thnum_max;
65
- context->thread = thread;
66
- reset_stepping_stop_points(context);
67
- context->stop_reason = CTX_STOP_NONE;
68
-
69
- rb_debug_inspector_open(context_backtrace_set, (void *)context);
70
- context->calced_stack_size = dc_stack_size(context) + 1;
71
-
72
- if (rb_obj_class(thread) == cDebugThread)
73
- CTX_FL_SET(context, CTX_FL_IGNORE);
74
-
75
- return Data_Wrap_Struct(cContext, context_mark, 0, context);
76
- }
77
-
78
- extern VALUE
79
- context_dup(debug_context_t *context)
80
- {
81
- debug_context_t *new_context = ALLOC(debug_context_t);
82
-
83
- memcpy(new_context, context, sizeof(debug_context_t));
84
- reset_stepping_stop_points(new_context);
85
- new_context->backtrace = context->backtrace;
86
- CTX_FL_SET(new_context, CTX_FL_DEAD);
87
-
88
- return Data_Wrap_Struct(cContext, context_mark, 0, new_context);
89
- }
90
-
91
-
92
- static VALUE
93
- dc_frame_get(const debug_context_t *context, int frame_index, frame_part type)
94
- {
95
- VALUE frame;
96
-
97
- if (NIL_P(dc_backtrace(context)))
98
- rb_raise(rb_eRuntimeError, "Backtrace information is not available");
99
-
100
- if (frame_index >= RARRAY_LENINT(dc_backtrace(context)))
101
- rb_raise(rb_eRuntimeError, "That frame doesn't exist!");
102
-
103
- frame = rb_ary_entry(dc_backtrace(context), frame_index);
104
- return rb_ary_entry(frame, type);
105
- }
106
-
107
- static VALUE
108
- dc_frame_location(const debug_context_t *context, int frame_index)
109
- {
110
- return dc_frame_get(context, frame_index, LOCATION);
111
- }
112
-
113
- static VALUE
114
- dc_frame_self(const debug_context_t *context, int frame_index)
115
- {
116
- return dc_frame_get(context, frame_index, SELF);
117
- }
118
-
119
- static VALUE
120
- dc_frame_class(const debug_context_t *context, int frame_index)
121
- {
122
- return dc_frame_get(context, frame_index, CLASS);
123
- }
124
-
125
- static VALUE
126
- dc_frame_binding(const debug_context_t *context, int frame_index)
127
- {
128
- return dc_frame_get(context, frame_index, BINDING);
129
- }
130
-
131
- static VALUE
132
- load_backtrace(const rb_debug_inspector_t *inspector)
133
- {
134
- VALUE backtrace = rb_ary_new();
135
- VALUE locs = rb_debug_inspector_backtrace_locations(inspector);
136
- int i;
137
-
138
- for (i = 0; i < RARRAY_LENINT(locs); i++)
139
- {
140
- VALUE frame = rb_ary_new();
141
-
142
- rb_ary_push(frame, rb_ary_entry(locs, i));
143
- rb_ary_push(frame, rb_debug_inspector_frame_self_get(inspector, i));
144
- rb_ary_push(frame, rb_debug_inspector_frame_class_get(inspector, i));
145
- rb_ary_push(frame, rb_debug_inspector_frame_binding_get(inspector, i));
146
-
147
- rb_ary_push(backtrace, frame);
148
- }
149
-
150
- return backtrace;
151
- }
152
-
153
- extern VALUE
154
- context_backtrace_set(const rb_debug_inspector_t *inspector, void *data)
155
- {
156
- debug_context_t *dc = (debug_context_t *)data;
157
-
158
- dc->backtrace = load_backtrace(inspector);
159
-
160
- return Qnil;
161
- }
162
-
163
- static VALUE
164
- open_debug_inspector_i(const rb_debug_inspector_t *inspector, void *data)
165
- {
166
- struct call_with_inspection_data *cwi =
167
- (struct call_with_inspection_data *)data;
168
-
169
- cwi->dc->backtrace = load_backtrace(inspector);
170
-
171
- return rb_funcall2(cwi->ctx, cwi->id, cwi->argc, cwi->argv);
172
- }
173
-
174
- static VALUE
175
- open_debug_inspector(struct call_with_inspection_data *cwi)
176
- {
177
- return rb_debug_inspector_open(open_debug_inspector_i, cwi);
178
- }
179
-
180
- static VALUE
181
- close_debug_inspector(struct call_with_inspection_data *cwi)
182
- {
183
- cwi->dc->backtrace = Qnil;
184
- return Qnil;
185
- }
186
-
187
- extern VALUE
188
- call_with_debug_inspector(struct call_with_inspection_data *data)
189
- {
190
- return rb_ensure(open_debug_inspector, (VALUE)data, close_debug_inspector,
191
- (VALUE)data);
192
- }
193
-
194
- #define FRAME_SETUP \
195
- debug_context_t *context; \
196
- VALUE frame_no; \
197
- int frame_n; \
198
- Data_Get_Struct(self, debug_context_t, context); \
199
- if (!rb_scan_args(argc, argv, "01", &frame_no)) \
200
- frame_n = 0; \
201
- else \
202
- frame_n = FIX2INT(frame_no);
203
-
204
- /*
205
- * call-seq:
206
- * context.frame_binding(frame_position = 0) -> binding
207
- *
208
- * Returns frame's binding.
209
- */
210
- static VALUE
211
- Context_frame_binding(int argc, VALUE *argv, VALUE self)
212
- {
213
- FRAME_SETUP;
214
-
215
- return dc_frame_binding(context, frame_n);
216
- }
217
-
218
- /*
219
- * call-seq:
220
- * context.frame_class(frame_position = 0) -> class
221
- *
222
- * Returns frame's defined class.
223
- */
224
- static VALUE
225
- Context_frame_class(int argc, VALUE *argv, VALUE self)
226
- {
227
- FRAME_SETUP;
228
-
229
- return dc_frame_class(context, frame_n);
230
- }
231
-
232
- /*
233
- * call-seq:
234
- * context.frame_file(frame_position = 0) -> string
235
- *
236
- * Returns the name of the file in the frame.
237
- */
238
- static VALUE
239
- Context_frame_file(int argc, VALUE *argv, VALUE self)
240
- {
241
- VALUE loc, absolute_path;
242
-
243
- FRAME_SETUP;
244
-
245
- loc = dc_frame_location(context, frame_n);
246
-
247
- absolute_path = rb_funcall(loc, rb_intern("absolute_path"), 0);
248
-
249
- if (!NIL_P(absolute_path))
250
- return absolute_path;
251
-
252
- return rb_funcall(loc, rb_intern("path"), 0);
253
- }
254
-
255
- /*
256
- * call-seq:
257
- * context.frame_line(frame_position = 0) -> int
258
- *
259
- * Returns the line number in the file in the frame.
260
- */
261
- static VALUE
262
- Context_frame_line(int argc, VALUE *argv, VALUE self)
263
- {
264
- VALUE loc;
265
-
266
- FRAME_SETUP;
267
-
268
- loc = dc_frame_location(context, frame_n);
269
-
270
- return rb_funcall(loc, rb_intern("lineno"), 0);
271
- }
272
-
273
- /*
274
- * call-seq:
275
- * context.frame_method(frame_position = 0) -> sym
276
- *
277
- * Returns the sym of the method in the frame.
278
- */
279
- static VALUE
280
- Context_frame_method(int argc, VALUE *argv, VALUE self)
281
- {
282
- VALUE loc;
283
-
284
- FRAME_SETUP;
285
-
286
- loc = dc_frame_location(context, frame_n);
287
-
288
- return rb_str_intern(rb_funcall(loc, rb_intern("label"), 0));
289
- }
290
-
291
- /*
292
- * call-seq:
293
- * context.frame_self(frame_postion = 0) -> obj
294
- *
295
- * Returns self object of the frame.
296
- */
297
- static VALUE
298
- Context_frame_self(int argc, VALUE *argv, VALUE self)
299
- {
300
- FRAME_SETUP;
301
-
302
- return dc_frame_self(context, frame_n);
303
- }
304
-
305
- /*
306
- * call-seq:
307
- * context.ignored? -> bool
308
- *
309
- * Returns the ignore flag for the context, which marks whether the associated
310
- * thread is ignored while debugging.
311
- */
312
- static inline VALUE
313
- Context_ignored(VALUE self)
314
- {
315
- debug_context_t *context;
316
-
317
- Data_Get_Struct(self, debug_context_t, context);
318
- return CTX_FL_TEST(context, CTX_FL_IGNORE) ? Qtrue : Qfalse;
319
- }
320
-
321
- /*
322
- * call-seq:
323
- * context.resume -> nil
324
- *
325
- * Resumes thread from the suspended mode.
326
- */
327
- static VALUE
328
- Context_resume(VALUE self)
329
- {
330
- debug_context_t *context;
331
-
332
- Data_Get_Struct(self, debug_context_t, context);
333
-
334
- if (!CTX_FL_TEST(context, CTX_FL_SUSPEND))
335
- return Qnil;
336
-
337
- CTX_FL_UNSET(context, CTX_FL_SUSPEND);
338
-
339
- if (CTX_FL_TEST(context, CTX_FL_WAS_RUNNING))
340
- rb_thread_wakeup(context->thread);
341
-
342
- return Qnil;
343
- }
344
-
345
- /*
346
- * call-seq:
347
- * context.backtrace-> Array
348
- *
349
- * Returns the frame stack of a context.
350
- */
351
- static inline VALUE
352
- Context_backtrace(VALUE self)
353
- {
354
- debug_context_t *context;
355
-
356
- Data_Get_Struct(self, debug_context_t, context);
357
-
358
- return dc_backtrace(context);
359
- }
360
-
361
- static VALUE
362
- Context_stop_reason(VALUE self)
363
- {
364
- debug_context_t *context;
365
- const char *symbol;
366
-
367
- Data_Get_Struct(self, debug_context_t, context);
368
-
369
- if (CTX_FL_TEST(context, CTX_FL_DEAD))
370
- symbol = "post-mortem";
371
- else
372
- switch (context->stop_reason)
373
- {
374
- case CTX_STOP_STEP:
375
- symbol = "step";
376
- break;
377
- case CTX_STOP_BREAKPOINT:
378
- symbol = "breakpoint";
379
- break;
380
- case CTX_STOP_CATCHPOINT:
381
- symbol = "catchpoint";
382
- break;
383
- case CTX_STOP_NONE:
384
- default:
385
- symbol = "none";
386
- }
387
- return ID2SYM(rb_intern(symbol));
388
- }
389
-
390
- /*
391
- * call-seq:
392
- * context.step_into(steps, frame = 0)
393
- *
394
- * Stops the current context after a number of +steps+ are made from frame
395
- * +frame+ (by default the newest one).
396
- */
397
- static VALUE
398
- Context_step_into(int argc, VALUE *argv, VALUE self)
399
- {
400
- VALUE steps, v_frame;
401
- int n_args, from_frame;
402
- debug_context_t *context;
403
-
404
- Data_Get_Struct(self, debug_context_t, context);
405
-
406
- if (context->calced_stack_size == 0)
407
- rb_raise(rb_eRuntimeError, "No frames collected.");
408
-
409
- n_args = rb_scan_args(argc, argv, "11", &steps, &v_frame);
410
-
411
- if (FIX2INT(steps) <= 0)
412
- rb_raise(rb_eRuntimeError, "Steps argument must be positive.");
413
-
414
- from_frame = n_args == 1 ? 0 : FIX2INT(v_frame);
415
-
416
- if (from_frame < 0 || from_frame >= context->calced_stack_size)
417
- rb_raise(rb_eRuntimeError, "Destination frame (%d) is out of range (%d)",
418
- from_frame, context->calced_stack_size);
419
- else if (from_frame > 0)
420
- CTX_FL_SET(context, CTX_FL_IGNORE_STEPS);
421
-
422
- context->steps = FIX2INT(steps);
423
- context->dest_frame = context->calced_stack_size - from_frame;
424
-
425
- return steps;
426
- }
427
-
428
- /*
429
- * call-seq:
430
- * context.step_out(n_frames = 1, force = false)
431
- *
432
- * Stops after +n_frames+ frames are finished. +force+ parameter (if true)
433
- * ensures that the execution will stop in the specified frame even when there
434
- * are no more instructions to run. In that case, it will stop when the return
435
- * event for that frame is triggered.
436
- */
437
- static VALUE
438
- Context_step_out(int argc, VALUE *argv, VALUE self)
439
- {
440
- int n_args, n_frames;
441
- VALUE v_frames, force;
442
- debug_context_t *context;
443
-
444
- n_args = rb_scan_args(argc, argv, "02", &v_frames, &force);
445
- n_frames = n_args == 0 ? 1 : FIX2INT(v_frames);
446
-
447
- Data_Get_Struct(self, debug_context_t, context);
448
-
449
- if (n_frames < 0 || n_frames > context->calced_stack_size)
450
- rb_raise(rb_eRuntimeError,
451
- "You want to finish %d frames, but stack size is only %d",
452
- n_frames, context->calced_stack_size);
453
-
454
- context->steps_out = n_frames;
455
- if (n_args == 2 && RTEST(force))
456
- CTX_FL_SET(context, CTX_FL_STOP_ON_RET);
457
- else
458
- CTX_FL_UNSET(context, CTX_FL_STOP_ON_RET);
459
-
460
- return Qnil;
461
- }
462
-
463
- /*
464
- * call-seq:
465
- * context.step_over(lines, frame = 0)
466
- *
467
- * Steps over +lines+ lines in frame +frame+ (by default the newest one) or
468
- * higher (if frame +frame+ finishes).
469
- */
470
- static VALUE
471
- Context_step_over(int argc, VALUE *argv, VALUE self)
472
- {
473
- int n_args, frame;
474
- VALUE lines, v_frame;
475
- debug_context_t *context;
476
-
477
- Data_Get_Struct(self, debug_context_t, context);
478
-
479
- if (context->calced_stack_size == 0)
480
- rb_raise(rb_eRuntimeError, "No frames collected.");
481
-
482
- n_args = rb_scan_args(argc, argv, "11", &lines, &v_frame);
483
- frame = n_args == 1 ? 0 : FIX2INT(v_frame);
484
-
485
- if (frame < 0 || frame >= context->calced_stack_size)
486
- rb_raise(rb_eRuntimeError, "Destination frame (%d) is out of range (%d)",
487
- frame, context->calced_stack_size);
488
-
489
- context->lines = FIX2INT(lines);
490
- context->dest_frame = context->calced_stack_size - frame;
491
-
492
- return Qnil;
493
- }
494
-
495
- /*
496
- * call-seq:
497
- * context.suspend -> nil
498
- *
499
- * Suspends the thread when it is running.
500
- */
501
- static VALUE
502
- Context_suspend(VALUE self)
503
- {
504
- VALUE status;
505
- debug_context_t *context;
506
-
507
- Data_Get_Struct(self, debug_context_t, context);
508
-
509
- status = rb_funcall(context->thread, rb_intern("status"), 0);
510
-
511
- if (rb_str_cmp(status, rb_str_new2("run")) == 0)
512
- CTX_FL_SET(context, CTX_FL_WAS_RUNNING);
513
- else if (rb_str_cmp(status, rb_str_new2("sleep")) == 0)
514
- CTX_FL_UNSET(context, CTX_FL_WAS_RUNNING);
515
- else
516
- return Qnil;
517
-
518
- CTX_FL_SET(context, CTX_FL_SUSPEND);
519
-
520
- return Qnil;
521
- }
522
-
523
- /*
524
- * call-seq:
525
- * context.switch -> nil
526
- *
527
- * Switches execution to this context.
528
- */
529
- static VALUE
530
- Context_switch(VALUE self)
531
- {
532
- debug_context_t *context;
533
-
534
- Data_Get_Struct(self, debug_context_t, context);
535
-
536
- next_thread = context->thread;
537
-
538
- context->steps = 1;
539
- context->steps_out = 0;
540
- CTX_FL_SET(context, CTX_FL_STOP_ON_RET);
541
-
542
- return Qnil;
543
- }
544
-
545
- /*
546
- * call-seq:
547
- * context.suspended? -> bool
548
- *
549
- * Returns +true+ if the thread is suspended by debugger.
550
- */
551
- static VALUE
552
- Context_is_suspended(VALUE self)
553
- {
554
- debug_context_t *context;
555
-
556
- Data_Get_Struct(self, debug_context_t, context);
557
-
558
- return CTX_FL_TEST(context, CTX_FL_SUSPEND) ? Qtrue : Qfalse;
559
- }
560
-
561
- /*
562
- * call-seq:
563
- * context.thnum -> int
564
- *
565
- * Returns the context's number.
566
- */
567
- static inline VALUE
568
- Context_thnum(VALUE self)
569
- {
570
- debug_context_t *context;
571
-
572
- Data_Get_Struct(self, debug_context_t, context);
573
- return INT2FIX(context->thnum);
574
- }
575
-
576
- /*
577
- * call-seq:
578
- * context.thread -> thread
579
- *
580
- * Returns the thread this context is associated with.
581
- */
582
- static inline VALUE
583
- Context_thread(VALUE self)
584
- {
585
- debug_context_t *context;
586
-
587
- Data_Get_Struct(self, debug_context_t, context);
588
- return context->thread;
589
- }
590
-
591
- /*
592
- * call-seq:
593
- * context.tracing -> bool
594
- *
595
- * Returns the tracing flag for the current context.
596
- */
597
- static VALUE
598
- Context_tracing(VALUE self)
599
- {
600
- debug_context_t *context;
601
-
602
- Data_Get_Struct(self, debug_context_t, context);
603
- return CTX_FL_TEST(context, CTX_FL_TRACING) ? Qtrue : Qfalse;
604
- }
605
-
606
- /*
607
- * call-seq:
608
- * context.tracing = bool
609
- *
610
- * Controls the tracing for this context.
611
- */
612
- static VALUE
613
- Context_set_tracing(VALUE self, VALUE value)
614
- {
615
- debug_context_t *context;
616
-
617
- Data_Get_Struct(self, debug_context_t, context);
618
-
619
- if (RTEST(value))
620
- CTX_FL_SET(context, CTX_FL_TRACING);
621
- else
622
- CTX_FL_UNSET(context, CTX_FL_TRACING);
623
- return value;
624
- }
625
-
626
- /* :nodoc: */
627
- static VALUE
628
- dt_inherited(VALUE klass)
629
- {
630
- UNUSED(klass);
631
-
632
- rb_raise(rb_eRuntimeError, "Can't inherit Byebug::DebugThread class");
633
-
634
- return Qnil;
635
- }
636
-
637
- /*
638
- * Document-class: Context
639
- *
640
- * == Summary
641
- *
642
- * Byebug keeps a single instance of this class per thread.
643
- */
644
- void
645
- Init_context(VALUE mByebug)
646
- {
647
- cContext = rb_define_class_under(mByebug, "Context", rb_cObject);
648
-
649
- rb_define_method(cContext, "backtrace", Context_backtrace, 0);
650
- rb_define_method(cContext, "dead?", Context_dead, 0);
651
- rb_define_method(cContext, "frame_binding", Context_frame_binding, -1);
652
- rb_define_method(cContext, "frame_class", Context_frame_class, -1);
653
- rb_define_method(cContext, "frame_file", Context_frame_file, -1);
654
- rb_define_method(cContext, "frame_line", Context_frame_line, -1);
655
- rb_define_method(cContext, "frame_method", Context_frame_method, -1);
656
- rb_define_method(cContext, "frame_self", Context_frame_self, -1);
657
- rb_define_method(cContext, "ignored?", Context_ignored, 0);
658
- rb_define_method(cContext, "resume", Context_resume, 0);
659
- rb_define_method(cContext, "step_into", Context_step_into, -1);
660
- rb_define_method(cContext, "step_out", Context_step_out, -1);
661
- rb_define_method(cContext, "step_over", Context_step_over, -1);
662
- rb_define_method(cContext, "stop_reason", Context_stop_reason, 0);
663
- rb_define_method(cContext, "suspend", Context_suspend, 0);
664
- rb_define_method(cContext, "suspended?", Context_is_suspended, 0);
665
- rb_define_method(cContext, "switch", Context_switch, 0);
666
- rb_define_method(cContext, "thnum", Context_thnum, 0);
667
- rb_define_method(cContext, "thread", Context_thread, 0);
668
- rb_define_method(cContext, "tracing", Context_tracing, 0);
669
- rb_define_method(cContext, "tracing=", Context_set_tracing, 1);
670
-
671
- cDebugThread = rb_define_class_under(mByebug, "DebugThread", rb_cThread);
672
- rb_define_singleton_method(cDebugThread, "inherited", dt_inherited, 1);
673
- }