Class: Thread::Backtrace::Location

Inherits:
Object
  • Object
show all
Defined in:
vm_backtrace.c

Instance Method Summary collapse

Instance Method Details

#absolute_pathObject

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_labelObject

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));
}

#inspectObject

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)));
}

#labelObject

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));
}

#linenoObject

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)));
}

#pathObject

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_sObject

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));
}