r13721 - in /branches/upstream/libclass-mop-perl/current: Changes META.yml lib/Class/MOP.pm lib/Class/MOP/Class.pm lib/Class/MOP/Method/Constructor.pm
gregoa-guest at users.alioth.debian.org
gregoa-guest at users.alioth.debian.org
Sun Jan 27 21:42:22 UTC 2008
Author: gregoa-guest
Date: Sun Jan 27 21:42:21 2008
New Revision: 13721
URL: http://svn.debian.org/wsvn/?sc=1&rev=13721
Log:
[svn-upgrade] Integrating new upstream version, libclass-mop-perl (0.52)
Modified:
branches/upstream/libclass-mop-perl/current/Changes
branches/upstream/libclass-mop-perl/current/META.yml
branches/upstream/libclass-mop-perl/current/lib/Class/MOP.pm
branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Class.pm
branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Method/Constructor.pm
Modified: branches/upstream/libclass-mop-perl/current/Changes
URL: http://svn.debian.org/wsvn/branches/upstream/libclass-mop-perl/current/Changes?rev=13721&op=diff
==============================================================================
--- branches/upstream/libclass-mop-perl/current/Changes (original)
+++ branches/upstream/libclass-mop-perl/current/Changes Sun Jan 27 21:42:21 2008
@@ -1,4 +1,13 @@
Revision history for Perl extension Class-MOP.
+
+0.52 Tues. Jan. 22, 2008
+ * Class::MOP::Class
+ - fixed bug in rebless_instance
+ (discovered by ash)
+
+ * Class::MOP::Method::Constructor
+ - removed assumptions about the existence of
+ a &meta method
0.51 Mon. Jan. 14, 2008
~~~ some misc. doc. fixes ~~~
Modified: branches/upstream/libclass-mop-perl/current/META.yml
URL: http://svn.debian.org/wsvn/branches/upstream/libclass-mop-perl/current/META.yml?rev=13721&op=diff
==============================================================================
--- branches/upstream/libclass-mop-perl/current/META.yml (original)
+++ branches/upstream/libclass-mop-perl/current/META.yml Sun Jan 27 21:42:21 2008
@@ -20,13 +20,13 @@
provides:
Class::MOP:
file: lib/Class/MOP.pm
- version: 0.51
+ version: 0.52
Class::MOP::Attribute:
file: lib/Class/MOP/Attribute.pm
version: 0.22
Class::MOP::Class:
file: lib/Class/MOP/Class.pm
- version: 0.26
+ version: 0.27
Class::MOP::Immutable:
file: lib/Class/MOP/Immutable.pm
version: 0.04
@@ -41,7 +41,7 @@
version: 0.02
Class::MOP::Method::Constructor:
file: lib/Class/MOP/Method/Constructor.pm
- version: 0.02
+ version: 0.03
Class::MOP::Method::Generated:
file: lib/Class/MOP/Method/Generated.pm
version: 0.01
@@ -64,4 +64,4 @@
Carp: 0
Scalar::Util: 1.18
Sub::Name: 0.02
-version: 0.51
+version: 0.52
Modified: branches/upstream/libclass-mop-perl/current/lib/Class/MOP.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libclass-mop-perl/current/lib/Class/MOP.pm?rev=13721&op=diff
==============================================================================
--- branches/upstream/libclass-mop-perl/current/lib/Class/MOP.pm (original)
+++ branches/upstream/libclass-mop-perl/current/lib/Class/MOP.pm Sun Jan 27 21:42:21 2008
@@ -14,7 +14,7 @@
use Class::MOP::Immutable;
BEGIN {
- our $VERSION = '0.51';
+ our $VERSION = '0.52';
our $AUTHORITY = 'cpan:STEVAN';
use XSLoader;
Modified: branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Class.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Class.pm?rev=13721&op=diff
==============================================================================
--- branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Class.pm (original)
+++ branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Class.pm Sun Jan 27 21:42:21 2008
@@ -12,7 +12,7 @@
use Scalar::Util 'blessed', 'reftype', 'weaken';
use Sub::Name 'subname';
-our $VERSION = '0.26';
+our $VERSION = '0.27';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Module';
@@ -395,7 +395,17 @@
sub rebless_instance {
my ($self, $instance) = @_;
- my $old_metaclass = $instance->meta();
+
+ my $old_metaclass;
+ if ($instance->can('meta')) {
+ ($instance->meta->isa('Class::MOP::Class'))
+ || confess 'Cannot rebless instance if ->meta is not an instance of Class::MOP::Class';
+ $old_metaclass = $instance->meta;
+ }
+ else {
+ $old_metaclass = $self->initialize(blessed($instance));
+ }
+
my $meta_instance = $self->get_meta_instance();
$self->name->isa($old_metaclass->name)
Modified: branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Method/Constructor.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Method/Constructor.pm?rev=13721&op=diff
==============================================================================
--- branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Method/Constructor.pm (original)
+++ branches/upstream/libclass-mop-perl/current/lib/Class/MOP/Method/Constructor.pm Sun Jan 27 21:42:21 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken', 'looks_like_number';
-our $VERSION = '0.02';
+our $VERSION = '0.03';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method::Generated';
@@ -68,7 +68,7 @@
}
sub generate_constructor_method {
- return sub { (shift)->meta->new_object(@_) }
+ return sub { Class::MOP::Class->initialize(shift)->new_object(@_) }
}
sub generate_constructor_method_inline {
@@ -77,7 +77,7 @@
my $source = 'sub {';
$source .= "\n" . 'my ($class, %params) = @_;';
- $source .= "\n" . 'return $class->meta->new_object(%params)';
+ $source .= "\n" . 'return Class::MOP::Class->initialize($class)->new_object(%params)';
$source .= "\n" . ' if $class ne \'' . $self->associated_metaclass->name . '\';';
$source .= "\n" . 'my $instance = ' . $self->meta_instance->inline_create_instance('$class');
More information about the Pkg-perl-cvs-commits
mailing list