You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2006/12/27 00:32:39 UTC
svn commit: r490400 - in
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp:
BeanParamWriter.java literal/ClientStubWriter.java
Author: nadiramra
Date: Tue Dec 26 15:32:39 2006
New Revision: 490400
URL: http://svn.apache.org/viewvc?view=rev&rev=490400
Log:
Simplify code generator and code that is generated by removing unnecessary braces
and checks prior to issuing "delete" to release memory (the operation is allowed
against a null pointer). In addition, remove the null'ing of pointers in the
destructor. No reason to do that.
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?view=diff&rev=490400&r1=490399&r2=490400
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Tue Dec 26 15:32:39 2006
@@ -871,9 +871,7 @@
+ attribs[i].getParamNameAsSOAPElement()
+ "\",0);\n");
writer.write("\tif(param->" + attribs[i].getParamNameAsMember() + " == NULL)\n");
- writer.write("\t{\n");
writer.write("\t\tparam->" + attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName() + "_Array();\n");
- writer.write("\t}\n");
writer.write("\tparam->" + attribs[i].getParamNameAsMember() + "->clone( *array" + arrayCount + ");\n");
writer.write("\tAxis::AxisDelete((void*) array" + arrayCount + ", XSD_ARRAY);\n\n");
}
@@ -1190,13 +1188,9 @@
{
anyCounter++;
writer.write("\tif (original." + attribs[i].getParamName() + anyCounter + " != NULL)\n");
- writer.write("\t{\n");
writer.write("\t\t" + attribs[i].getParamName() + anyCounter + " = new " + attribs[i].getTypeName() + "(*(original." + attribs[i].getParamName() + anyCounter + "));\n");
- writer.write("\t}\n");
writer.write("\telse\n");
- writer.write("\t{\n");
writer.write("\t\t" + attribs[i].getParamName() + anyCounter + " = NULL;\n");
- writer.write("\t}\n");
}
else
{
@@ -1221,15 +1215,11 @@
else
{
writer.write("\tif (original." + attribs[i].getParamName() + " != NULL)\n");
- writer.write("\t{\n");
writer.write("\t\t" + attribs[i].getParamName() + " = new "
+ attribs[i].getTypeName() + "(*(original."
+ attribs[i].getParamName() + "));\n");
- writer.write("\t}\n");
writer.write("\telse\n");
- writer.write("\t{\n");
writer.write("\t\t" + attribs[i].getParamName() + " = NULL;\n");
- writer.write("\t}\n");
}
}
}
@@ -1341,47 +1331,27 @@
isPointerType = CUtils.isPointerType(typename);
if(attribs[i].isArray())
- {
- writer.write("\tif (" + name + "!= NULL)\n");
- writer.write("\t{\n");
- writer.write("\t\tdelete " + name + ";\n");
- writer.write("\t\t" + name + " = NULL;\n");
- writer.write("\t}\n");
- }
+ writer.write("\tdelete " + name + ";\n");
else if (attribs[i].isAnyType())
{
anyCounter += 1;
name = name + Integer.toString(anyCounter);
writer.write("\tif ("+name+") \n\t{\n");
- writer.write("\t\tfor (int i=0; i<"+name+"->_size; i++)\n\t\t{\n");
- writer.write("\t\t\tif ("+name+"->_array[i]) delete [] "+name+"->_array[i];\n");
- writer.write("\t\t}\n");
+ writer.write("\t\tfor (int i=0; i<"+name+"->_size; i++)\n");
+ writer.write("\t\t\tdelete [] "+name+"->_array[i];\n");
writer.write("\t\tdelete "+name+";\n");
writer.write("\t}\n");
-
}
else if (!(attribs[i].isSimpleType() || attribs[i].getType().isSimpleType()))
- {
- writer.write("\tif (" + name + "!= NULL)\n");
- writer.write("\t{\n");
- writer.write("\t\tdelete " + name + ";\n");
- writer.write("\t\t" + name + " = NULL;\n");
- writer.write("\t}\n");
- }
+ writer.write("\tdelete " + name + ";\n");
else if (isPointerType || isElementNillable(i) || isElementOptional(i) || attribs[i].getChoiceElement() || attribs[i].getAllElement())
{
// found pointer type
- writer.write("\tif (" + name + " != NULL)\n");
- writer.write("\t{\n");
- writer.write("\t\tif(__axis_deepcopy_" + name + ")\n");
- writer.write("\t\t{\n");
- writer.write("\t\t\tdelete ");
+ writer.write("\tif(__axis_deepcopy_" + name + ")\n");
+ writer.write("\t\tdelete ");
if (isPointerType)
writer.write("[] ");
writer.write(name + ";\n");
- writer.write("\t\t}\n");
- writer.write("\t\t" + name + " = NULL;\n");
- writer.write("\t}\n");
}
}
writer.write("}\n");
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java?view=diff&rev=490400&r1=490399&r2=490400
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java Tue Dec 26 15:32:39 2006
@@ -669,14 +669,9 @@
writer.write("\t\t\tif( pReturn" + i + " != NULL && OutValue" + i + " != NULL)\n");
writer.write("\t\t\t{\n");
writer.write("\t\t\t\tif( *OutValue" + i + " == NULL)\n");
- writer.write("\t\t\t\t{\n");
- writer.write("\t\t\t\t\t*OutValue" + i + " = new " + currentParaType
- + "();\n");
- writer.write("\t\t\t\t}\n");
+ writer.write("\t\t\t\t\t*OutValue" + i + " = new " + currentParaType + "();\n");
writer.write("\t\t\t\telse\n");
- writer.write("\t\t\t\t{\n");
writer.write("\t\t\t\t\t(*OutValue" + i + ")->clear();\n");
- writer.write("\t\t\t\t}\n\n");
writer.write("\t\t\t\t(*OutValue" + i + ")->clone(*pReturn" + i + ");\n");
writer.write("\t\t\t}\n\n");
writer.write("\t\t\tAxis::AxisDelete( (void *) pReturn" + i + ", XSD_ARRAY);\n");
@@ -761,12 +756,11 @@
writer.write( "\n");
writer.write( "\t\t\tif( pReturn" + i + " != NULL && OutValue" + i + " != NULL)\n");
writer.write( "\t\t\t{\n");
+
if (currentType.isNillable() || currentType.isOptional())
{
writer.write( "\t\t\t\tif( *OutValue" + i + " == NULL)\n");
- writer.write( "\t\t\t\t{\n");
writer.write( "\t\t\t\t\t*OutValue" + i + " = new " + currentParaType + "();\n");
- writer.write( "\t\t\t\t}\n");
writer.write( "\n");
writer.write( "\t\t\t\t*");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org