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

NAME

Devel::PerlySense::Class - A Perl Class

SYNOPSIS

DESCRIPTION

A Perl Class is a Perl Package with an OO interface.

PROPERTIES

oPerlySense

Devel::PerlySense object.

Default: set during new()

name

The Class name (i.e. the package name)

Default: ""

raDocument

Array ref with PerlySense::Document objects that define this class.

Default: []

rhClassBase

Hash ref with (keys: base class names; values: base class PerlySense::Class objects).

Default: {}

API METHODS

new(oPerlySense, name, raDocument, rhClassSeen => {})

Create new PerlySense::Class object. Give it $name and associate it with $oPerlySense.

$rhClassSeen is used to keep track of seen base classes in case we encounter circular deps.

newFromFileAt(oPerlySense => $oPerlySense, file => $file, row => $row, col => $col)

Create new PerlySense::Class object given the class found at $row, $col in $file.

Return new object, or undef if no class was found, or die if the file doesn't exist.

newFromName(oPerlySense, name, dirOrigin, rhClassSeen)

Create new PerlySense::Class object given the class $name.

Look for the module file starting at $dirOrigin.

Return new object, or undef if no class was found with that $name.

findBaseClasses(rhClassSeen)

Find the base classes of this class and set (replace) rBaseClass with newly created Class objects.

Reuse any class names and objects in $rhClassSeen (keys: class names; values: Class objects), i.e. don't follow them upwards, they have already been taken care of.

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 248:

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