Class: Thread::Backtrace::Location
Instance Method Summary collapse
-
#absolute_path ⇒ Object
Returns the full file path of this frame.
-
#base_label ⇒ Object
Returns the base label of this frame.
-
#inspect ⇒ Object
Returns the same as calling
inspect
on the string representation of #to_str. -
#label ⇒ Object
Returns the label of this frame.
-
#lineno ⇒ Object
Returns the line number of this frame.
-
#path ⇒ Object
Returns the file name of this frame.
-
#to_s ⇒ Object
Returns a Kernel#caller style string representing this frame.
Instance Method Details
#absolute_path ⇒ Object
Returns the full file path of this frame.
Same as #path, but includes the absolute path.
293 294 295 296 297 |
# File 'vm_backtrace.c', line 293
static VALUE
location_absolute_path_m(VALUE self)
{
return location_absolute_path(location_ptr(self));
}
|
#base_label ⇒ Object
Returns the base label of this frame.
Usually same as #label, without decoration.
230 231 232 233 234 |
# File 'vm_backtrace.c', line 230
static VALUE
location_base_label_m(VALUE self)
{
return location_base_label(location_ptr(self));
}
|
#inspect ⇒ Object
Returns the same as calling inspect
on the string representation of #to_str
364 365 366 367 368 |
# File 'vm_backtrace.c', line 364
static VALUE
location_inspect_m(VALUE self)
{
return rb_str_inspect(location_to_str(location_ptr(self)));
}
|
#label ⇒ Object
Returns the label of this frame.
Usually consists of method, class, module, etc names with decoration.
Consider the following example:
def foo
puts caller_locations(0).first.label
1.times do
puts caller_locations(0).first.label
1.times do
puts caller_locations(0).first.label
end
end
end
The result of calling foo
is this:
label: foo label: block in foo label: block (2 levels) in foo
203 204 205 206 207 |
# File 'vm_backtrace.c', line 203
static VALUE
location_label_m(VALUE self)
{
return location_label(location_ptr(self));
}
|
#lineno ⇒ Object
Returns the line number of this frame.
For example, using caller_locations.rb
from Thread::Backtrace::Location
loc = c(0..1).first loc.lineno #=> 2
154 155 156 157 158 |
# File 'vm_backtrace.c', line 154
static VALUE
location_lineno_m(VALUE self)
{
return INT2FIX(location_lineno(location_ptr(self)));
}
|
#path ⇒ Object
Returns the file name of this frame.
For example, using caller_locations.rb
from Thread::Backtrace::Location
loc = c(0..1).first loc.path #=> caller_locations.rb
263 264 265 266 267 |
# File 'vm_backtrace.c', line 263
static VALUE
location_path_m(VALUE self)
{
return location_path(location_ptr(self));
}
|
#to_s ⇒ Object
Returns a Kernel#caller style string representing this frame.
354 355 356 357 358 |
# File 'vm_backtrace.c', line 354
static VALUE
location_to_str_m(VALUE self)
{
return location_to_str(location_ptr(self));
}
|