| Devel-PerlySense documentation | Contained in the Devel-PerlySense distribution. |
Devel::PerlySense::Document::Location - A file name + cursor position
A location describes a cursor position (optional) in a file, and optional properties.
Default: ""
The row (0..) of the location. The actual rows are 1.., 0 means N/A.
Default: 0
The col (0..) of the location. The actual cols are 1.., 0 means N/A.
Default: 0
Hash ref with (names: name of payload, keys: some payload).
A generic container for whatever things may be attached to this location, like POD text, a PPI::Node, a type string or whatever.
Default: {}
Create new Location object.
Return clone of this object.
Die on errors.
Return a hash ref with the complete attributes of the class, i.e. both the file and the properties in rhProperty.
Johan Lindström, <johanl[ÄT]DarSerMan.com>
Please report any bugs or feature requests to
bug-devel-perlysense@rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Devel-PerlySense.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
Copyright 2005 Johan Lindström, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Devel-PerlySense documentation | Contained in the Devel-PerlySense distribution. |
use strict; use warnings; package Devel::PerlySense::Document::Location; our $VERSION = '0.01'; use Spiffy -Base; use Carp; use Data::Dumper; use Storable "dclone"; use PPI; use File::Slurp;
field "file" => "";
field "row";
field "col";
field "rhProperty" => {};
sub new(@) { my $pkg = shift; my (%p) = @_; my $self = bless {}, $pkg; $self->file($p{file} || ""); $self->row($p{row} || 0); $self->col($p{col} || 0); $self->rhProperty($p{rhProperty} || {}); return($self); }
sub clone { return(dclone($self)); }
sub rhInfo { my $rhInfo = dclone($self->rhProperty); for my $field (qw/ file row col /) { $rhInfo->{$field} = $self->$field; } return($rhInfo); } 1; __END__