Hi Victor, the same as your previous patch. This one also assumes something which is not in spec. Please see following snipped from the "OMG IDL Syntax and Semantics 3" -- definitions which applies to both your cases. You see that in both cases, your value shall inherit from <value_name> which is just <scoped_name> and that your value may support one or more <interface_name> which is also <scoped_name>.
(11) <interface_name> ::= <scoped_name> (12) <scoped_name> ::= <identifier> | “::” <identifier> | <scoped_name> “::” <identifier> (13) <value> ::= ( <value_dcl> | <value_abs_dcl> | <value_box_dcl> | <value_forward_dcl>) (14) <value_forward_dcl> ::= [ “abstract” ] “valuetype” <identifier> (15) <value_box_dcl> ::= “valuetype” <identifier> <type_spec> (16) <value_abs_dcl> ::= “abstract” “valuetype” <identifier> [ <value_inheritance_spec> ] “{“ <export>* “}” (17) <value_dcl> ::= <value_header> “{“ < value_element>* “}” (18) <value_header> ::= [“custom” ] “valuetype” <identifier> [ <value_inheritance_spec> ] (19)<value_inheritance_spec> ::= [ “:” [ “truncatable” ] <value_name> { “,” <value_name> }* ] [ “supports” <interface_name> { “,” <interface_name> }* ] (20) <value_name> ::= <scoped_name> So following this grammar, your myidl2.idl from previous email should be: #include <myidl.idl> module scope1 { module scope3 { valuetype MyValueType supports scope1::scope2::MyAbstractInterface { public boolean value; }; }; }; and valuetype_basevalue.idl attached to this email should be fixed in the same way, i.e. module scope1 { module scope2 { abstract interface MyAbstractInterface { string getName(); }; valuetype MyValueType supports MyAbstractInterface { public boolean value; }; }; module scope3 { valuetype MyExtendedValueType : scope1::scope2::MyValueType { public boolean valid; }; }; }; Anyway, I agree with you that IDL compiler should not segfault, but rather emit nice and clear error message in case non-valid IDL. Patch for this would be highly appreciated. Thanks! Karel On 06/ 8/11 06:18 PM, Victor Fusco wrote: > Hi, > > On Sunday 05 June 2011 17:51:32 Victor Fusco wrote: >> I am receiving a segfault when trying to generate code for a >> valuetype. I think it has something to do with the valuetype >> supporting an interface that is an alias. > > I hit another case of the valuetype alias problem, but this time I got > an error instead of a segmentation fault. It happens when a valuetype > extends a valuetype that is an alias. > > I've attached the new testcase and a patch that fixes the problem. > > Thanks, > > Victor Fusco > > > > "The future is here. It's just not widely distributed yet." > William Gibson > > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > > > > _______________________________________________ > Mico-devel mailing list > Mico-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mico-devel -- Karel Gardas kgar...@objectsecurity.com ObjectSecurity Ltd. http://www.objectsecurity.com ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Mico-devel mailing list Mico-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mico-devel