summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2012-09-04 14:46:14 -0700
committerMark Spruiell <mes@zeroc.com>2012-09-04 14:46:14 -0700
commit4b1ac0a147457cccffed7a333d757eceefdca6db (patch)
tree764622d0319fe6c3ec76be01065cd6ec2ad4cc76 /cpp
parentchanging data member mapping to use Ice.Optional in C# (diff)
downloadice-4b1ac0a147457cccffed7a333d757eceefdca6db.tar.bz2
ice-4b1ac0a147457cccffed7a333d757eceefdca6db.tar.xz
ice-4b1ac0a147457cccffed7a333d757eceefdca6db.zip
use Optional for C# one-shot constructors
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/slice2cs/Gen.cpp25
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;
}