Add method macro_from_item to encapsulate the entire logic for getting
Nicholas Clark [Mon, 26 Dec 2005 23:47:01 +0000 (23:47 +0000)]
the correct macro direct from the item hash.

p4raw-id: //depot/perl@26495

lib/ExtUtils/Constant/Base.pm
lib/ExtUtils/Constant/XS.pm

index 69dde25..8dab240 100644 (file)
@@ -68,6 +68,10 @@ sub macro_from_name {
   1;
 }
 
+sub macro_from_item {
+  1;
+}
+
 sub macro_to_ifdef {
     my ($self, $macro) = @_;
     if (ref $macro) {
@@ -371,10 +375,10 @@ sub return_clause {
   my ($self, $args, $item) = @_;
   my $indent = $args->{indent};
 
-  my ($name, $value, $macro, $default, $pre, $post, $def_pre, $def_post, $type)
-    = @$item{qw (name value macro default pre post def_pre def_post type)};
+  my ($name, $value, $default, $pre, $post, $def_pre, $def_post, $type)
+    = @$item{qw (name value default pre post def_pre def_post type)};
   $value = $name unless defined $value;
-  $macro = $self->macro_from_name($item) unless defined $macro;
+  my $macro = $self->macro_from_item($item);
   $indent = ' ' x ($indent || 6);
   unless (defined $type) {
     # use Data::Dumper; print STDERR Dumper ($item);
index c98583a..010dfbd 100644 (file)
@@ -143,6 +143,13 @@ sub macro_from_name {
   $macro;
 }
 
+sub macro_from_item {
+  my ($self, $item) = @_;
+  my $macro = $item->{macro};
+  $macro = $self->macro_from_name($item) unless defined $macro;
+  $macro;
+}
+
 # Keep to the traditional perl source macro
 sub memEQ {
   "memEQ";