summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Gen.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-09-25 23:29:39 +0000
committerMarc Laukien <marc@zeroc.com>2001-09-25 23:29:39 +0000
commit9a5b8decaffd5b7276d571d2d1cf7dc527c9cd3d (patch)
tree919b333472a90ca5977e3c2786ad32a834e1fc5c /cpp/src/slice2cpp/Gen.cpp
parentfixes (diff)
downloadice-9a5b8decaffd5b7276d571d2d1cf7dc527c9cd3d.tar.bz2
ice-9a5b8decaffd5b7276d571d2d1cf7dc527c9cd3d.tar.xz
ice-9a5b8decaffd5b7276d571d2d1cf7dc527c9cd3d.zip
many, many freeze and other fixes
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index c590d22f688..618cfab0c71 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -1777,6 +1777,8 @@ Slice::Gen::ObjectVisitor::visitOperation(const OperationPtr& p)
C << retS << " __ret = ";
}
C << name << args << ';';
+ writeMarshalCode(C, outParams, ret);
+ C << nl << "return ::IceInternal::DispatchOK;";
if (!throws.empty())
{
C << eb;
@@ -1798,12 +1800,10 @@ Slice::Gen::ObjectVisitor::visitOperation(const OperationPtr& p)
{
writeMarshalUnmarshalCode(C, *r, "__ex", true);
}
- C << nl << "return ::IceInternal::DispatchException;";
+ C << nl << "return ::IceInternal::DispatchUserException;";
C << eb;
}
}
- writeMarshalCode(C, outParams, ret);
- C << nl << "return ::IceInternal::DispatchOK;";
C << eb;
}
}
@@ -1868,19 +1868,25 @@ Slice::Gen::IceVisitor::visitClassDefStart(const ClassDefPtr& p)
string scoped = p->scoped();
C << sp;
- C << nl << "void IceInternal::incRef(" << scoped << "* p) { p->__incRef(); }";
- C << nl << "void IceInternal::decRef(" << scoped << "* p) { p->__decRef(); }";
+ C << nl << "void" << nl << "IceInternal::incRef(" << scoped << "* p)";
+ C << sb;
+ C << nl << "p->__incRef();";
+ C << eb;
+ C << nl << "void" << nl << "IceInternal::decRef(" << scoped << "* p)";
+ C << sb;
+ C << nl << "p->__decRef();";
+ C << eb;
if (!p->isLocal())
{
C << sp;
C << nl << "void" << nl << "IceInternal::incRef(::IceProxy" << scoped << "* p)";
C << sb;
- C << "p->__incRef();";
+ C << nl << "p->__incRef();";
C << eb;
C << nl << "void" << nl << "IceInternal::decRef(::IceProxy" << scoped << "* p)";
C << sb;
- C << "p->__decRef();";
+ C << nl << "p->__decRef();";
C << eb;
C << sp;
C << nl << "void" << nl << "IceInternal::checkedCast(::IceProxy::Ice::Object* b, ::IceProxy" << scoped