Skip to content

Commit 37adce5

Browse files
viuginick1valich
authored andcommitted
debug fields added to c level breakpoint
1 parent a5ed9df commit 37adce5

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

ext/breakpoint.c

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,44 @@ Breakpoint_source(VALUE self)
122122
return breakpoint->source;
123123
}
124124

125+
static VALUE
126+
Breakpoint_expr_get(VALUE self)
127+
{
128+
breakpoint_t *breakpoint;
129+
130+
Data_Get_Struct(self, breakpoint_t, breakpoint);
131+
return breakpoint->expr;
132+
}
133+
134+
static VALUE
135+
Breakpoint_expr_set(VALUE self, VALUE new_val)
136+
{
137+
breakpoint_t *breakpoint;
138+
139+
Data_Get_Struct(self, breakpoint_t, breakpoint);
140+
breakpoint->expr = new_val;
141+
return breakpoint->expr;
142+
}
143+
144+
static VALUE
145+
Breakpoint_enabled_set(VALUE self, VALUE new_val)
146+
{
147+
breakpoint_t *breakpoint;
148+
149+
Data_Get_Struct(self, breakpoint_t, breakpoint);
150+
breakpoint->enabled = new_val;
151+
return breakpoint->enabled;
152+
}
153+
154+
static VALUE
155+
Breakpoint_enabled_get(VALUE self)
156+
{
157+
breakpoint_t *breakpoint;
158+
159+
Data_Get_Struct(self, breakpoint_t, breakpoint);
160+
return breakpoint->enabled;
161+
}
162+
125163
static VALUE
126164
Breakpoint_pos(VALUE self)
127165
{
@@ -267,6 +305,14 @@ Init_breakpoint(VALUE mDebase)
267305
rb_define_method(cBreakpoint, "id", Breakpoint_id, 0);
268306
rb_define_method(cBreakpoint, "source", Breakpoint_source, 0);
269307
rb_define_method(cBreakpoint, "pos", Breakpoint_pos, 0);
308+
309+
/* <For tests> */
310+
rb_define_method(cBreakpoint, "expr", Breakpoint_expr_get, 0);
311+
rb_define_method(cBreakpoint, "expr=", Breakpoint_expr_set, 1);
312+
rb_define_method(cBreakpoint, "enabled", Breakpoint_enabled_get, 0);
313+
rb_define_method(cBreakpoint, "enabled=", Breakpoint_enabled_set, 1);
314+
/* </For tests> */
315+
270316
rb_define_alloc_func(cBreakpoint, Breakpoint_create);
271317

272318
idEval = rb_intern("eval");

lib/debase/rbx/breakpoint.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module Debase
22
class Breakpoint
33
@@global_id = 1
44

5-
attr_accessor :source, :pos
5+
attr_accessor :source, :pos, :expr, :enabled
66
attr_reader :id
77

88
def initialize(file, line, expr=nil)

0 commit comments

Comments
 (0)