diff options
author | Bernard Normier <bernard@zeroc.com> | 2006-07-27 01:47:43 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2006-07-27 01:47:43 +0000 |
commit | 6d1e32eebbbe320b3a1fe33552824a3f8982b6a0 (patch) | |
tree | ec67ad494b59bd2e8028f5b7e5b886394cb4e3b9 /cpp/src/Slice/Parser.cpp | |
parent | Minor fix (diff) | |
download | ice-6d1e32eebbbe320b3a1fe33552824a3f8982b6a0.tar.bz2 ice-6d1e32eebbbe320b3a1fe33552824a3f8982b6a0.tar.xz ice-6d1e32eebbbe320b3a1fe33552824a3f8982b6a0.zip |
Partial fix for bug #1257: deprecating nonmutating
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index 09a0217ab7f..8bf98da1995 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -4266,6 +4266,12 @@ Slice::Operation::mode() const return _mode; } +Operation::Mode +Slice::Operation::sendMode() const +{ + return _sendMode; +} + ParamDeclPtr Slice::Operation::createParamDecl(const string& name, const TypePtr& type, bool isOutParam) { @@ -4563,8 +4569,14 @@ Slice::Operation::Operation(const ContainerPtr& container, Contained(container, name), Container(container->unit()), _returnType(returnType), - _mode(mode) + _mode(mode), + _sendMode(mode) { + if(_sendMode == Operation::Idempotent && hasMetaData("nonmutating")) + { + _sendMode = Operation::Nonmutating; + } + if(_unit->profile() == IceE) { ClassDefPtr cl = ClassDefPtr::dynamicCast(this->container()); |