Remove all uses of CMOP::{load_class, is_class_loaded, load_first_existing_class...
[gitmo/Moose.git] / lib / Moose / Util / TypeConstraints / Builtins.pm
index 8aed469..7ea867c 100644 (file)
@@ -3,6 +3,7 @@ package Moose::Util::TypeConstraints::Builtins;
 use strict;
 use warnings;
 
+use Class::Load qw( is_class_loaded );
 use List::MoreUtils ();
 use Scalar::Util qw( blessed looks_like_number reftype );
 
@@ -28,24 +29,21 @@ sub define_builtins {
         => as 'Item'
         => where { !defined($_) }
         => inline_as {
-            $_[0]->parent()->_inline_check($_[1])
-            . ' && !defined(' . $_[1] . ')'
+            '!defined(' . $_[1] . ')'
         };
 
     subtype 'Defined'
         => as 'Item'
         => where { defined($_) }
         => inline_as {
-            $_[0]->parent()->_inline_check($_[1])
-            . ' && defined(' . $_[1] . ')'
+            'defined(' . $_[1] . ')'
         };
 
     subtype 'Bool'
         => as 'Item'
         => where { !defined($_) || $_ eq "" || "$_" eq '1' || "$_" eq '0' }
         => inline_as {
-            $_[0]->parent()->_inline_check($_[1])
-            . ' && ('
+            '('
                 . '!defined(' . $_[1] . ') '
                 . '|| ' . $_[1] . ' eq "" '
                 . '|| (' . $_[1] . '."") eq "1" '
@@ -133,16 +131,11 @@ sub define_builtins {
         => where { blessed($_) }
         => inline_as { 'Scalar::Util::blessed(' . $_[1] . ')' };
 
-    # This type is deprecated.
-    subtype 'Role'
-        => as 'Object'
-        => where { $_->can('does') };
-
     subtype 'ClassName'
         => as 'Str'
-        => where { Class::MOP::is_class_loaded($_) }
+        => where { is_class_loaded($_) }
             # the long Str tests are redundant here
-        => inline_as { 'Class::MOP::is_class_loaded(' . $_[1] . ')' };
+        => inline_as { 'Class::Load::is_class_loaded(' . $_[1] . ')' };
 
     subtype 'RoleName'
         => as 'ClassName'