axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <samisa.abeysin...@gmail.com>
Subject Re: XSDElementNil service fails to compile.
Date Sat, 21 May 2005 10:03:41 GMT
Dushshantha, did you create a Jira on this?

Samisa..

On 5/18/05, Dushshantha Chandradasa <dchandradasa@virtusa.com> wrote:
> 
> 
> Hi All,
> 
>  
> 
> XSDElementNil service fails to compile and gives the following error
> messages.
> 
>  
> 
> XSDElementNilWrapper.cpp
> 
> XSDElementNilWrapper.cpp(133) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'int *' to 'int'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(161) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'unsigned int *' to 'unsigned int'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(189) : error C2440: 'initializing' : cannot convert
> fro
> 
> m '__int64 *' to '__int64'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(217) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'unsigned long *' to 'unsigned long'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(245) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'double *' to 'double'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(246) : error C2440: 'type cast' : cannot convert
> from '
> 
> double' to 'void *'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(273) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'float *' to 'float'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(274) : error C2440: 'type cast' : cannot convert
> from '
> 
> float' to 'void *'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(301) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'char *' to 'char'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(329) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'unsigned char *' to 'unsigned char'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(357) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'axiscpp::xsd__boolean *' to 'axiscpp::xsd__boolean'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(413) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'short *' to 'short'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(441) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'unsigned short *' to 'unsigned short'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(469) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'struct tm *' to 'struct tm'
> 
>         No constructor could take the source type, or constructor overload
> resol
> 
> ution was ambiguous
> 
> XSDElementNilWrapper.cpp(470) : error C2440: 'type cast' : cannot convert
> from '
> 
> struct tm' to 'void *'
> 
>         No user-defined-conversion operator available that can perform this
> conv
> 
> ersion, or the operator cannot be called
> 
> XSDElementNilWrapper.cpp(497) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'struct tm *' to 'struct tm'
> 
>         No constructor could take the source type, or constructor overload
> resol
> 
> ution was ambiguous
> 
> XSDElementNilWrapper.cpp(498) : error C2440: 'type cast' : cannot convert
> from '
> 
> struct tm' to 'void *'
> 
>         No user-defined-conversion operator available that can perform this
> conv
> 
> ersion, or the operator cannot be called
> 
> XSDElementNilWrapper.cpp(525) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'long *' to 'long'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> XSDElementNilWrapper.cpp(553) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'struct tm *' to 'struct tm'
> 
>         No constructor could take the source type, or constructor overload
> resol
> 
> ution was ambiguous
> 
> XSDElementNilWrapper.cpp(554) : error C2440: 'type cast' : cannot convert
> from '
> 
> struct tm' to 'void *'
> 
>         No user-defined-conversion operator available that can perform this
> conv
> 
> ersion, or the operator cannot be called
> 
> XSDElementNilWrapper.cpp(581) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'class axiscpp::xsd__base64Binary *' to 'class axiscpp::xsd__base64Binary'
> 
>         No constructor could take the source type, or constructor overload
> resol
> 
> ution was ambiguous
> 
> XSDElementNilWrapper.cpp(582) : error C2440: 'type cast' : cannot convert
> from '
> 
> class axiscpp::xsd__base64Binary' to 'void *'
> 
>         No user-defined-conversion operator available that can perform this
> conv
> 
> ersion, or the operator cannot be called
> 
> XSDElementNilWrapper.cpp(609) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'class axiscpp::xsd__hexBinary *' to 'class axiscpp::xsd__hexBinary'
> 
>         No constructor could take the source type, or constructor overload
> resol
> 
> ution was ambiguous
> 
> XSDElementNilWrapper.cpp(610) : error C2440: 'type cast' : cannot convert
> from '
> 
> class axiscpp::xsd__hexBinary' to 'void *'
> 
>         No user-defined-conversion operator available that can perform this
> conv
> 
> ersion, or the operator cannot be called
> 
> XSDElementNilWrapper.cpp(637) : error C2440: 'initializing' : cannot convert
> fro
> 
> m 'double *' to 'double'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(638) : error C2440: 'type cast' : cannot convert
> from '
> 
> double' to 'void *'
> 
>         There is no context in which this conversion is possible
> 
> XSDElementNilWrapper.cpp(665) : error C2440: 'initializing' : cannot convert
> fro
> 
> m '__int64 *' to '__int64'
> 
>         This conversion requires a reinterpret_cast, a C-style cast or
> function-
> 
> style cast
> 
> Generating Code...
> 
> XSDElementNil.cpp(61) : error C4716: 'XSDElementNil::setGetDataLong' : must
> retu
> 
> rn a value
> 
>  
> 
> As I go through the error I found that WrapWriter class does not handle
> simple type elements which are nillable true. Following is the logic in
> WrapWriter class.
> 
>  
> 
> if (!returntypeisarray 
> 
>                   && (!returntypeissimple
> 
>                         || (!returntypeissimple
> 
>                               && returntype.isNillable()
> 
>                                     &&
> !(retType.getLanguageSpecificName().equals("xsd__string")
> 
>                                           ||
> retType.getLanguageSpecificName().equals("xsd__anyURI")
> 
>                                           ||
> retType.getLanguageSpecificName().equals("xsd__QName")
> 
>                                           ||
> retType.getLanguageSpecificName().equals("xsd__notation")))))
> 
>             {
> 
>                   writer.write(" *");
> 
>             }
> 
>  
> 
> Is this cover simple type nillable values??
> 
> Any comment on this??
> 
>  
> 
> Regards,
> 
>  
> 
> Marcus Dushshantha Chandradasa
> 
> Associate  Software Engineer
> 
> Virtusa (Pvt) Ltd.
> 
> dchandradasa@virtusa.com
> 
> Mob:  0714867441
> 
>  
> 
>  
> 
>

Mime
View raw message