use Scalar::Util directly
Tokuhiro Matsuno [Sun, 7 Dec 2008 07:49:25 +0000 (07:49 +0000)]
lib/Mouse.pm
lib/Mouse/Meta/Attribute.pm
lib/Mouse/Meta/Class.pm
lib/Mouse/Object.pm
lib/Mouse/Role.pm
lib/Mouse/TypeRegistry.pm
lib/Mouse/Util.pm
lib/MouseX/Types/TypeDecorator.pm
t/201-squirrel.t
t/202-squirrel-role.t

index 22d07eb..2f61610 100644 (file)
@@ -18,7 +18,8 @@ BEGIN {
 }
 
 use Carp 'confess';
-use Mouse::Util 'blessed';
+use Scalar::Util 'blessed';
+use Mouse::Util;
 
 use Mouse::Meta::Attribute;
 use Mouse::Meta::Class;
@@ -123,6 +124,7 @@ sub load_class {
         confess "Invalid class name ($display)";
     }
 
+    return 1 if $class eq 'Mouse::Object';
     return 1 if is_class_loaded($class);
 
     (my $file = "$class.pm") =~ s{::}{/}g;
index 97cd5c0..2ce6ce4 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 require overload;
 
 use Carp 'confess';
-require Mouse::Util;
+use Scalar::Util ();
 
 sub new {
     my $class = shift;
@@ -104,7 +104,7 @@ sub generate_accessor {
         $accessor .= $self.'->{'.$key.'} = '.$value.';' . "\n";
 
         if ($is_weak) {
-            $accessor .= 'Mouse::Util::weaken('.$self.'->{'.$key.'}) if ref('.$self.'->{'.$key.'});' . "\n";
+            $accessor .= 'Scalar::Util::weaken('.$self.'->{'.$key.'}) if ref('.$self.'->{'.$key.'});' . "\n";
         }
 
         if ($trigger) {
@@ -215,13 +215,13 @@ sub create {
         my $optimized_constraints = Mouse::TypeRegistry->optimized_constraints;
         if (@type_constraints == 1) {
             $code = $optimized_constraints->{$type_constraints[0]} ||
-                sub { Mouse::Util::blessed($_) && Mouse::Util::blessed($_) eq $type_constraints[0] };
+                sub { Scalar::Util::blessed($_) && Scalar::Util::blessed($_) eq $type_constraints[0] };
             $args{type_constraint} = $type_constraints[0];
         } else {
             my @code_list = map {
                 my $type = $_;
                 $optimized_constraints->{$type} ||
-                    sub { Mouse::Util::blessed($_) && Mouse::Util::blessed($_) eq $type }
+                    sub { Scalar::Util::blessed($_) && Scalar::Util::blessed($_) eq $type }
             } @type_constraints;
             $code = sub {
                 for my $code (@code_list) {
index 966c27d..642f738 100644 (file)
@@ -5,7 +5,8 @@ use warnings;
 
 use Mouse::Meta::Method::Constructor;
 use Mouse::Meta::Method::Destructor;
-use Mouse::Util qw/get_linear_isa blessed/;
+use Scalar::Util qw/blessed/;
+use Mouse::Util qw/get_linear_isa/;
 use Carp 'confess';
 
 do {
index c7add33..900530d 100644 (file)
@@ -3,7 +3,7 @@ package Mouse::Object;
 use strict;
 use warnings;
 
-use Mouse::Util qw/weaken/;
+use Scalar::Util qw/weaken/;
 use Carp 'confess';
 
 sub new {
index ec74bcc..37007e5 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 use base 'Exporter';
 
 use Carp 'confess';
-use Mouse::Util 'blessed';
+use Scalar::Util 'blessed';
 
 use Mouse::Meta::Role;
 
index 4a97237..7045382 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 
 use Carp ();
-use Mouse::Util qw/blessed looks_like_number openhandle/;
+use Scalar::Util qw/blessed looks_like_number openhandle/;
 
 my %SUBTYPE;
 my %COERCE;
index 7dc8187..c9fca63 100644 (file)
@@ -4,10 +4,8 @@ use strict;
 use warnings;
 use base qw/Exporter/;
 use Carp;
-use Scalar::Util qw(blessed looks_like_number openhandle reftype weaken);
 
 our @EXPORT_OK = qw(
-    blessed looks_like_number openhandle reftype weaken
     get_linear_isa
 );
 our %EXPORT_TAGS = (
@@ -101,26 +99,5 @@ Mouse::Util - features, with or without their dependencies
 
 =head3 get_linear_isa
 
-=head2 L<Scalar::Util>
-
-=head3 blessed
-
-=head3 looks_like_number
-
-=head3 reftype
-
-=head3 openhandle
-
-=head3 weaken
-
-C<weaken> I<must> be implemented in XS. If the user tries to use C<weaken>
-without L<Scalar::Util>, an error is thrown.
-
-=head2 Test::Exception
-
-=head3 throws_ok
-
-=head3 lives_ok
-
 =cut
 
index 244f88c..11ad46d 100644 (file)
@@ -3,7 +3,7 @@ package MouseX::Types::TypeDecorator;
 use strict;
 use warnings;
 
-use Mouse::Util 'blessed';
+use Scalar::Util 'blessed';
 
 use overload(
     '""' => sub { ${ $_[0] } },
index 85c0fe5..8a37731 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 
 use Test::More;
-use Mouse::Util 'blessed';
+use Scalar::Util 'blessed';
 
 do {
     package Foo;
index 7201754..5c70361 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 
 use Test::More;
-use Mouse::Util 'blessed';
+use Scalar::Util 'blessed';
 
 do {
     package Foo::Role;