rename these for more consistency
[gitmo/Moose.git] / lib / Class / MOP / Mixin / HasMethods.pm
index f714cd5..5f6a4db 100644 (file)
@@ -225,7 +225,7 @@ sub _overload_map {
 
     my %map;
     for my $op ($self->overload_operators) {
-        my $body = overload::Method($self->name, $op);
+        my $body = $self->_get_overloaded_operator_body($op);
         next unless defined $body;
         $map{$op} = $body;
     }
@@ -235,25 +235,25 @@ sub _overload_map {
 
 sub get_overload_list {
     my $self = shift;
-    my $map = $self->_overload_map;
-    return map { $self->_wrap_overload($_, $map->{$_}) } keys $map;
+    return keys $self->_overload_map;
 }
 
-sub get_overloaded_operators {
+sub get_all_overloaded_operators {
     my $self = shift;
-    return keys $self->_overload_map;
+    my $map = $self->_overload_map;
+    return map { $self->_wrap_overload($_, $map->{$_}) } keys $map;
 }
 
 sub has_overloaded_operator {
     my $self = shift;
     my ($op) = @_;
-    return defined overload::Method($self->name, $op);
+    return defined $self->_get_overloaded_operator_body($op);
 }
 
 sub get_overloaded_operator {
     my $self = shift;
     my ($op) = @_;
-    my $body = overload::Method($self->name, $op);
+    my $body = $self->_get_overloaded_operator_body($op);
     return unless defined $body;
     return $self->_wrap_overload($op, $body);
 }
@@ -264,6 +264,12 @@ sub add_overloaded_operator {
     $self->name->overload::OVERLOAD($op => $body);
 }
 
+sub _get_overloaded_operator_body {
+    my $self = shift;
+    my ($op) = @_;
+    return overload::Method($self->name, $op);
+}
+
 sub _wrap_overload {
     my $self = shift;
     my ($op, $body) = @_;