diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/slice2cs/Gen.cpp | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp index c0a19a334ce..9d1de88c85e 100644 --- a/cpp/src/slice2cs/Gen.cpp +++ b/cpp/src/slice2cs/Gen.cpp @@ -2915,7 +2915,7 @@ Slice::Gen::TypesVisitor::visitClassDefEnd(const ClassDefPtr& p) for(d = allDataMembers.begin(); d != allDataMembers.end(); ++d) { string memberName = fixId((*d)->name()); - string memberType = typeToString((*d)->type()); + string memberType = typeToString((*d)->type(), (*d)->optional()); paramDecl.push_back(memberType + " " + memberName); } _out << paramDecl << epar; @@ -2943,14 +2943,7 @@ Slice::Gen::TypesVisitor::visitClassDefEnd(const ClassDefPtr& p) { _out << paramName; } - if((*d)->optional()) - { - _out << " = new " << typeToString((*d)->type(), true) << '(' << paramName << ");"; - } - else - { - _out << " = " << paramName << ';'; - } + _out << " = " << paramName << ';'; } _out << eb; @@ -3254,7 +3247,7 @@ Slice::Gen::TypesVisitor::visitExceptionEnd(const ExceptionPtr& p) for(q = allDataMembers.begin(); q != allDataMembers.end(); ++q) { string memberName = fixId((*q)->name()); - string memberType = typeToString((*q)->type()); + string memberType = typeToString((*q)->type(), (*q)->optional()); allParamDecl.push_back(memberType + " " + memberName); } @@ -3268,7 +3261,7 @@ Slice::Gen::TypesVisitor::visitExceptionEnd(const ExceptionPtr& p) for(q = dataMembers.begin(); q != dataMembers.end(); ++q) { string memberName = fixId((*q)->name()); - string memberType = typeToString((*q)->type()); + string memberType = typeToString((*q)->type(), (*q)->optional()); paramDecl.push_back(memberType + " " + memberName); } @@ -3330,15 +3323,7 @@ Slice::Gen::TypesVisitor::visitExceptionEnd(const ExceptionPtr& p) for(q = dataMembers.begin(); q != dataMembers.end(); ++q) { string name = fixId((*q)->name(), DotNet::Exception, false); - if((*q)->optional()) - { - _out << nl << "this." << name << " = new " << typeToString((*q)->type(), true) << '(' << - fixId((*q)->name()) << ");"; - } - else - { - _out << nl << "this." << name << " = " << fixId((*q)->name()) << ';'; - } + _out << nl << "this." << name << " = " << fixId((*q)->name()) << ';'; } _out << eb; } |