NAME

Devel::PerlySense::Document::Meta - Document information generated during a parse

PROPERTIES

raPackage

Package declarations.

Array ref with cloned PPI::Statement::Package objects.

Default: []

raNameModuleUse

Array ref with module names that are "use"d.

Default: []

raNameModuleBase

Array ref with module names that are base classes.

Default: []

rhRowColModule

Module names.

Hash ref with (keys: row, values: hash ref with (keys: col, values: hash with keys: oNode => cloned PPI::Node objects module => module name string ) ) )

rhRowColModule->{43}->{2}-> node

Default: {}

rhRowColMethod

Method calls.

Hash ref with (keys: row, values: hash ref with (keys: col, values: { oNode => cloned PPI::Node object, oNodePrev => node to the left of the -> } ) )

rhRowColModule->{43}->{2}-> node

Default: {}

raLocationPod

POD blocks.

Array ref with Location objects, representing each pod chunk that is a heading/item. They have the following properties:

podSection
pod

Default: []

raLocationSub

sub definition.

Array ref with Location objects, representing each sub declaration. They have the following properties:

nameSub
source
namePackage
oLocationEnd

Default: []

aPluginSyntax

Array ref with Devel::PerlySense::Plugin::Syntax objects.

Return whatever plugins under Devel::PerlySense::Plugin::Syntax::* are found.

Readonly.

API METHODS

new() Create new empty Meta object

parse($oDocument)

Parse the Devel::PerlySense::Document and extract metadata. Fill appropriate data structures.

Return 1 or die on errors.

moduleAt(row => $row, col => $col)

Find the module mentioned on line $row (1..) at $col (1..).

Return string like "My::Module" or "Module", or undef if none was found.

rhMethodAt(row => $row, col => $col)

Find the module mentioned on line $row (1..) at $col (1..).

Return hash ref with { oNode, oNodeObject } or undef if none was found.

rhTokenOfAt($rhRowCol, $row, $col)

Find the token mentioned in $rhRowCol on line $row (1..) at $col (1..).

Return hash ref with keys oNode and possibly oNodeObject, or undef if none was found.

parsePod($oDocument, $oNode, $raLocationPod, $raPodHeadingCurrent)

Parse $oNode and add one or more Location objects to $raLocationPod.

Add pod chunks that are =head or =item. Prefix the pod chunks with their immediate pod heading level.

Return 1 on success, die on errors.

oLocationSub($oDocument, $oNode, $nameSub, $packageCurrent)

Create a Document::Location object from the sub $nameSub consisting of $oNode, found in $oDocument in $packageCurrent.

Set appropriate Location->rhProperty keys:

nameSub
source
namePackage
oLocationEnd

Return the new Location object.

AUTHOR

Johan Lindstrom, <johanl@cpan.org>

BUGS

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.

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2005 Johan Lindstrom, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.