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
>
>
>
>
>
>