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.
287 288 289 290 291 |
# File 'vm_backtrace.c', line 287
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.
224 225 226 227 228 |
# File 'vm_backtrace.c', line 224
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
362 363 364 365 366 |
# File 'vm_backtrace.c', line 362
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
197 198 199 200 201 |
# File 'vm_backtrace.c', line 197
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
148 149 150 151 152 |
# File 'vm_backtrace.c', line 148
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
257 258 259 260 261 |
# File 'vm_backtrace.c', line 257
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.
352 353 354 355 356 |
# File 'vm_backtrace.c', line 352
static VALUE
location_to_str_m(VALUE self)
{
return location_to_str(location_ptr(self));
}
|