The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Devel::PerlySense::Plugin::Syntax::Moose - Plugin for parsing Moose syntax constructs

DESCRIPTION

Parses Moose specific syntax, e.g. "extends", etc.

Currently supported:

  • extends - Single and multiple inheritance

  • with - Role composition, is treated as a base class

KNOWN MOOSE BUGS

Broken Moose code, e.g. multiple extends are parsed incorrectly (the ISA isn't reset). But you shouldn't have broken Moose code should you?

Roles are treated like base classes, because that's the most similar Perl concept.

KNOWN BUGS

This plugin module is not yet it's own distribution, which it should be. It should have a base class inside the PerlySense distro.

The plugins could have some kind of marker for when they should be run for a document. It could be a quick regex on the source or per line or something.

PROPERTIES

API METHODS

parse($rhDataDocument, $oMeta, $oDocument, $oNode, $pkgNode, $row, $col, $packageCurrent)

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

rhDataDocument

the key e.g. "Moose" for Plugin::Syntax::Moose, is for the plugin to manage. It's persistent during the complete parse of a document.

Return 1 or die on errors.

AUTHOR

Johan Lindström, <johanl[ÄT]DarSerMan.com>

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 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.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 126:

Non-ASCII character seen before =encoding in 'Lindström,'. Assuming CP1252