improve the warning for unknown attribute parameters (mjd)
[gitmo/Moose.git] / lib / Moose / Role.pm
index c4ed911..3cc3467 100644 (file)
@@ -4,6 +4,7 @@ use warnings;
 
 use Scalar::Util 'blessed';
 use Carp         'croak';
+use Class::Load  'is_class_loaded';
 
 use Sub::Exporter;
 
@@ -38,7 +39,10 @@ sub has {
     my $meta = shift;
     my $name = shift;
     croak 'Usage: has \'name\' => ( key => value, ... )' if @_ == 1;
-    my %options = ( definition_context => Moose::Util::_caller_info(), @_ );
+    my %context = Moose::Util::_caller_info;
+    $context{context} = 'has declaration';
+    $context{type} = 'role';
+    my %options = ( definition_context => \%context, @_ );
     my $attrs = ( ref($name) eq 'ARRAY' ) ? $name : [ ($name) ];
     $meta->add_attribute( $_, %options ) for @$attrs;
 }
@@ -107,7 +111,7 @@ sub init_meta {
     my $meta_name = exists $args{meta_name} ? $args{meta_name} : 'meta';
 
     Moose->throw_error("The Metaclass $metaclass must be loaded. (Perhaps you forgot to 'use $metaclass'?)")
-        unless Class::MOP::is_class_loaded($metaclass);
+        unless is_class_loaded($metaclass);
 
     Moose->throw_error("The Metaclass $metaclass must be a subclass of Moose::Meta::Role.")
         unless $metaclass->isa('Moose::Meta::Role');