diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-01-29 06:57:04 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-01-29 06:57:04 +0000 |
commit | 69546750ee46ac83d3af8b66b5787e6446267f65 (patch) | |
tree | 252a914bee3bcbe9918d02e3116bd0040f389433 /cpp/src | |
parent | fix for stable_31 compatibility (temporarily removing 1.22 revision) (diff) | |
download | ice-69546750ee46ac83d3af8b66b5787e6446267f65.tar.bz2 ice-69546750ee46ac83d3af8b66b5787e6446267f65.tar.xz ice-69546750ee46ac83d3af8b66b5787e6446267f65.zip |
restoring 1.22 changes
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 12 |
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();"; |