You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Dushshantha Chandradasa <dc...@virtusa.com> on 2005/05/18 11:54:16 UTC

XSDElementNil service fails to compile.

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

 

 

 


Re: XSDElementNil service fails to compile.

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Dushshantha, did you create a Jira on this?

Samisa..

On 5/18/05, Dushshantha Chandradasa <dc...@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
> 
>  
> 
>  
> 
>