diff options
author | Michi Henning <michi@zeroc.com> | 2002-08-22 06:21:41 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2002-08-22 06:21:41 +0000 |
commit | 9c3bc85e2924c51af64b332c81a8ace3627206ee (patch) | |
tree | 2bbcd860fc983e9a2d97b28f57df8ab8c76d2ccf /cpp/src/Slice/Parser.cpp | |
parent | Added post and prefix iterator operator++ tests (diff) | |
download | ice-9c3bc85e2924c51af64b332c81a8ace3627206ee.tar.bz2 ice-9c3bc85e2924c51af64b332c81a8ace3627206ee.tar.xz ice-9c3bc85e2924c51af64b332c81a8ace3627206ee.zip |
Added changes for idempotent.
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index dec77656af9..6b10564c574 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -1764,7 +1764,7 @@ Slice::ClassDef::destroy() OperationPtr Slice::ClassDef::createOperation(const string& name, const TypePtr& returnType, - bool nonmutating) + Operation::Mode mode) { checkPrefix(name); @@ -1865,7 +1865,7 @@ Slice::ClassDef::createOperation(const string& name, _unit->error(msg); } - OperationPtr op = new Operation(this, name, returnType, nonmutating); + OperationPtr op = new Operation(this, name, returnType, mode); _contents.push_back(op); return op; } @@ -3158,10 +3158,22 @@ Slice::Operation::throws() const return _throws; } +Operation::Mode +Slice::Operation::mode() const +{ + return _mode; +} + bool Slice::Operation::nonmutating() const { - return _nonmutating; + return _mode == Nonmutating; +} + +bool +Slice::Operation::idempotent() const +{ + return _mode == Nonmutating || _mode == Idempotent; } void @@ -3272,12 +3284,12 @@ Slice::Operation::visit(ParserVisitor* visitor) Slice::Operation::Operation(const ContainerPtr& container, const string& name, const TypePtr& returnType, - bool nonmutating) : + Mode mode) : Contained(container, name), Container(container->unit()), SyntaxTreeBase(container->unit()), _returnType(returnType), - _nonmutating(nonmutating) + _mode(mode) { } |