QUSIR / staff

Automatically exported from code.google.com/p/staff
Apache License 2.0
0 stars 0 forks source link

Bad proxy generation when using externally defined enums #136

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Generate a proxy using a WS definition header (.h) that uses an externally 
defined enum. 

Example:
Types.xsd defines an enum 
enum SomeEnumType
{
   Value1,
   Value2,
   Value3
};

In other definition header, a struct that uses that enum is defined:
struct SomeStruct {
    // *isAttribute: true
    staff::Optional< ::SomeEnumType> SomeType;
};

2. When this second header is used to generate a proxy, the resulting proxy 
won't compile. 

What is the expected output? What do you see instead?
When trying to compile a compilation error is generated. Something like:
error: no match for ‘operator<<’ in ‘sParamSomeEnumType << 
rstStruct->SomeStruct::SomeType.staff::Optional<Type>::operator* [with Type = 
SomeEnumType]()’

What version of the product are you using? On what operating system?
trunk Revision: 535

Please provide any additional information below.
The problem seems to be that enums << and >> operators are not declared in 
TypesProxy.h, so the other proxy can't use them.

Original issue reported on code.google.com by matiassanm on 19 Sep 2011 at 2:43

GoogleCodeExporter commented 9 years ago

Original comment by loentar on 19 Sep 2011 at 7:23

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r536.

Original comment by loentar on 19 Sep 2011 at 8:04