PPI::Document::Fragment - A fragment of a Perl Document


PPI documentation Contained in the PPI distribution.

Index


Code Index:

NAME

Top

PPI::Document::Fragment - A fragment of a Perl Document

DESCRIPTION

Top

In some situations you might want to work with a fragment of a larger document. PPI::Document::Fragment is a class intended for this purpose. It is functionally almost identical to a normal PPI::Document, except that it is not possible to get line/column positions for the elements within it, and it does not represent a scope.

METHODS

Top

index_locations

Unlike when called on a PPI::Document object, you should not be attempting to find locations of things within a PPI::Document::Fragment, and thus any call to the index_locations will print a warning and return undef instead of attempting to index the locations of the Elements.

TO DO

Top

Integrate this into the rest of PPI so it has actual practical uses. The most obvious would be to implement arbitrary cut/copy/paste more easily.

SUPPORT

Top

See the support section in the main module.

AUTHOR

Top

Adam Kennedy <adamk@cpan.org>

COPYRIGHT

Top


PPI documentation Contained in the PPI distribution.
package PPI::Document::Fragment;

use strict;
use PPI::Document ();

use vars qw{$VERSION @ISA};
BEGIN {
	$VERSION = '1.215';
	@ISA     = 'PPI::Document';
}





#####################################################################
# PPI::Document Methods

# There's no point indexing a fragment
sub index_locations {
	warn "Useless attempt to index the locations of a document fragment";
	undef;
}





#####################################################################
# PPI::Element Methods

# We are not a scope boundary
### XS -> PPI/XS.xs:_PPI_Document_Fragment__scope 0.903+
sub scope { '' }

1;