Switch to unshifting message if needed, like most of Moose
Shawn M Moore [Fri, 15 Jun 2012 17:37:52 +0000 (12:37 -0500)]
lib/Moose/Util.pm

index 7351a25..2658ec8 100644 (file)
@@ -472,14 +472,12 @@ sub _is_role_only_subclass {
 }
 
 sub throw {
-    my %args;
-    if (@_ == 1) {
-        $args{message} = shift;
-    }
-    else {
-        %args = @_;
+    if (@_ % 2) {
+        unshift @_, 'message';
     }
 
+    my %args = @_;
+
     my $superclass = delete($args{superclass}) || 'Throwable::Error';
     my $roles = delete($args{roles});