[libclass-virtual-perl] 05/07: Version 0.02

dom at earth.li dom at earth.li
Wed Aug 23 14:00:14 UTC 2017


This is an automated email from the git hooks/post-receive script.

dom pushed a commit to tag v0.03
in repository libclass-virtual-perl.

commit b51508b5bc6d41fad99b0407d5dfe18b1e582bb8
Author: Michael G. Schwern <schwern at pobox.com>
Date:   Fri Feb 9 13:17:34 2001 +0000

    Version 0.02
    
    For some reason certain specific Perl installations don't like
    
            require Carp;
            Carp::carp "foo"
    
    and must have parens instead.
    
    
    git-svn-id: file:///Users/schwern/tmp/svn/CPAN/Class-Virtual/trunk@2276 8151f2b9-fde8-0310-94fd-f048d12aab9e
---
 lib/Class/Virtual.pm | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/lib/Class/Virtual.pm b/lib/Class/Virtual.pm
index 834206a..09d4ca1 100644
--- a/lib/Class/Virtual.pm
+++ b/lib/Class/Virtual.pm
@@ -2,7 +2,7 @@ package Class::Virtual;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.01';
+$VERSION = '0.02';
 
 use Class::ISA;
 # Class::ISA doesn't export?!
@@ -45,11 +45,12 @@ Class::Virtual - Base class for virtual base classes.
 
 =head1 DESCRIPTION
 
-This is a base class for implementing virtual base classes.  Kinda
-kooky.  It allows you to explicitly declare what methods are virtual
-and that must be implemented by subclasses.  This might seem silly,
-since your program will halt and catch fire when an unimplemented
-virtual method is hit anyway, but there's some benefits.
+This is a base class for implementing virtual base classes (what some
+people call an abstract class).  Kinda kooky.  It allows you to
+explicitly declare what methods are virtual and that must be
+implemented by subclasses.  This might seem silly, since your program
+will halt and catch fire when an unimplemented virtual method is hit
+anyway, but there's some benefits.
 
 The error message is more informative.  Instead of the usual
 "Can't locate object method" error, you'll get one explaining that a
@@ -118,8 +119,8 @@ sub _mk_virtual_methods {
         # Make sure the method doesn't already exist.
         if( $this_class->can($meth) ) {
             require Carp;
-            Carp::croak "$this_class attempted to declare $meth() virtual ".
-                        "but it appears to already be implemented!";
+            Carp::croak("$this_class attempted to declare $meth() virtual ".
+                        "but it appears to already be implemented!");
         }
 
         # Create a virtual method.
@@ -131,11 +132,11 @@ sub _mk_virtual_methods {
 
             if( $class eq $this_class) {
                 my $caller = caller;
-                Carp::croak "$caller called the virtual base class ".
-                            "$this_class directly!  Use a subclass instead";
+                Carp::croak("$caller called the virtual base class ".
+                            "$this_class directly!  Use a subclass instead");
             }
             else {
-                Carp::croak "$class forgot to implement $meth()";
+                Carp::croak("$class forgot to implement $meth()");
             }
         };
     }
@@ -174,7 +175,7 @@ sub missing_methods {
             CLASS: foreach my $class (@super_classes) {
                 next METHOD if defined &{$class.'::'.$meth};
             }
-        
+
             push @missing, $meth;
         }
     }
@@ -186,6 +187,10 @@ sub missing_methods {
 
 =back
 
+=head1 CAVEATS and BUGS
+
+Autoloaded methods are currently not recognized.
+
 
 =head1 AUTHOR
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libclass-virtual-perl.git



More information about the Pkg-perl-cvs-commits mailing list