Subject: | AST for Enum-discriminated Unions always indicates 'need_default' |
CORBA-IDL-2.42 (latest)
I noticed that the AST produced from parses of Unions discriminated by Enums always had the 'need_default' attribute set.
I used the following tiny bit of IDL to isolate the problem:
module t {
enum discrim {s, b};
union onion switch(discrim) {
case s:
short ss;
case b:
boolean bb;
};
}
I then debugged the file node.pm to diagnose the problem, make a local fix and offer the following diff for your consideration:
1651,1652c1651
< my $val = $cst->{value};
< $key = ref $val ? $val->{full} : $val;
---
Show quoted text
> $key = $cst->{value};
I haven't checked for side-effects but will probably be putting the fix into a production system in two weeks when holiday timing permits.
Thanks for a very fine piece of work.