summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-01-29 06:57:04 +0000
committerMark Spruiell <mes@zeroc.com>2002-01-29 06:57:04 +0000
commit69546750ee46ac83d3af8b66b5787e6446267f65 (patch)
tree252a914bee3bcbe9918d02e3116bd0040f389433 /cpp
parentfix for stable_31 compatibility (temporarily removing 1.22 revision) (diff)
downloadice-69546750ee46ac83d3af8b66b5787e6446267f65.tar.bz2
ice-69546750ee46ac83d3af8b66b5787e6446267f65.tar.xz
ice-69546750ee46ac83d3af8b66b5787e6446267f65.zip
restoring 1.22 changes
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index db74da952d2..522c6466c3d 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -2269,7 +2269,9 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p)
out << eb;
out << nl << "catch (IceInternal.NonRepeatable __ex)";
out << sb;
- if (op->nonmutating())
+ list<string> metaData = op->getMetaData();
+ bool nonmutating = find(metaData.begin(), metaData.end(), "nonmutating") != metaData.end();
+ if (nonmutating)
{
out << nl << "__cnt = __handleException(__ex.get(), __cnt);";
}
@@ -3073,10 +3075,10 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
out << "java.util.Map __context)";
writeDelegateThrowsClause(scope, throws);
out << sb;
- out << nl << "IceInternal.Outgoing __out = new "
- << "IceInternal.Outgoing(__connection, __reference, \""
- << op->name() << "\", " << (op->nonmutating() ? "true" : "false")
- << ", __context);";
+ list<string> metaData = op->getMetaData();
+ bool nonmutating = find(metaData.begin(), metaData.end(), "nonmutating") != metaData.end();
+ out << nl << "IceInternal.Outgoing __out = new IceInternal.Outgoing(__connection, __reference, \""
+ << op->name() << "\", " << (nonmutating ? "true" : "false") << ", __context);";
if (!inParams.empty())
{
out << nl << "IceInternal.BasicStream __os = __out.os();";