Revert "pidl/NDR: give anonymous structs and unions a name"
authorStefan Metzmacher <metze@samba.org>
Tue, 8 Mar 2011 09:04:40 +0000 (10:04 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 4 Jun 2019 11:14:55 +0000 (13:14 +0200)
This reverts commit 04ada3e56d6442c7cdd5efe1ca6a7e99c78c6502.

pidl/lib/Parse/Pidl/NDR.pm

index 60428c99a7ee541499ff2cf3ed362ac492bdb6be..003156e3a11ef7efce7195afe0cb4e12c4ba183d 100644 (file)
@@ -521,39 +521,15 @@ sub ParseElement($$$)
        };
 }
 
-sub ParseName($)
-{
-       my ($e) = @_;
-       my $name = $e->{NAME};
-
-       return $name if defined($name);
-
-       my $parent = $e->{PARENT};
-       my $parent_name = undef;
-
-       while (not defined($parent_name)) {
-               last unless defined($parent);
-
-               $parent_name = $parent->{NAME};
-               $parent = $parent->{PARENT};
-       }
-
-       $parent_name = "global" unless defined($parent_name);
-       $name = "__pidl_".$e->{TYPE}."_".$parent_name."_".$e->{LINE};
-
-       return $name;
-}
-
 sub ParseStruct($$$)
 {
        my ($struct, $pointer_default, $ms_union) = @_;
        my @elements = ();
        my $surrounding = undef;
-       my $name = ParseName($struct);
 
        return {
                TYPE => "STRUCT",
-               NAME => $name,
+               NAME => $struct->{NAME},
                SURROUNDING_ELEMENT => undef,
                ELEMENTS => undef,
                PROPERTIES => $struct->{PROPERTIES},
@@ -584,11 +560,14 @@ sub ParseStruct($$$)
                $surrounding = $struct->{ELEMENTS}[-1];
        }
 
-       my $align = align_type($name);
-
+       my $align = undef;
+       if ($struct->{NAME}) {
+               $align = align_type($struct->{NAME});
+       }
+               
        return {
                TYPE => "STRUCT",
-               NAME => $name,
+               NAME => $struct->{NAME},
                SURROUNDING_ELEMENT => $surrounding,
                ELEMENTS => \@elements,
                PROPERTIES => $struct->{PROPERTIES},
@@ -607,11 +586,10 @@ sub ParseUnion($$)
        my $switch_type = has_property($e, "switch_type");
        unless (defined($switch_type)) { $switch_type = "uint32"; }
        if (has_property($e, "nodiscriminant")) { $switch_type = undef; }
-       my $name = ParseName($e);
 
        return {
                TYPE => "UNION",
-               NAME => $name,
+               NAME => $e->{NAME},
                SWITCH_TYPE => $switch_type,
                ELEMENTS => undef,
                PROPERTIES => $e->{PROPERTIES},
@@ -642,11 +620,14 @@ sub ParseUnion($$)
                push @elements, $t;
        }
 
-       my $align = align_type($name);
+       my $align = undef;
+       if ($e->{NAME}) {
+               $align = align_type($e->{NAME});
+       }
 
        return {
                TYPE => "UNION",
-               NAME => $name,
+               NAME => $e->{NAME},
                SWITCH_TYPE => $switch_type,
                ELEMENTS => \@elements,
                PROPERTIES => $e->{PROPERTIES},
@@ -660,11 +641,10 @@ sub ParseUnion($$)
 sub ParseEnum($$)
 {
        my ($e, $pointer_default, $ms_union) = @_;
-       my $name = ParseName($e);
 
        return {
                TYPE => "ENUM",
-               NAME => $name,
+               NAME => $e->{NAME},
                BASE_TYPE => Parse::Pidl::Typelist::enum_type_fn($e),
                ELEMENTS => $e->{ELEMENTS},
                PROPERTIES => $e->{PROPERTIES},
@@ -675,11 +655,10 @@ sub ParseEnum($$)
 sub ParseBitmap($$$)
 {
        my ($e, $pointer_default, $ms_union) = @_;
-       my $name = ParseName($e);
 
        return {
                TYPE => "BITMAP",
-               NAME => $name,
+               NAME => $e->{NAME},
                BASE_TYPE => Parse::Pidl::Typelist::bitmap_type_fn($e),
                ELEMENTS => $e->{ELEMENTS},
                PROPERTIES => $e->{PROPERTIES},