diff options
author | David Storch <david.storch@10gen.com> | 2016-07-22 14:44:48 -0400 |
---|---|---|
committer | David Storch <david.storch@10gen.com> | 2016-07-22 16:56:58 -0400 |
commit | e50989dac9846041fe46047a3d30a8d6fb6476d8 (patch) | |
tree | a95ef7f5676f62e3665c3f1475c7ca333d6e4866 /src/mongo/db/pipeline/expression.h | |
parent | 4e1dacf63d435c91b8ae33c2982d13b3ca87a6d9 (diff) | |
download | mongo-e50989dac9846041fe46047a3d30a8d6fb6476d8.tar.gz |
SERVER-23349 make ExpressionZip and ExpressionSwitch inherit directly from Expression
Diffstat (limited to 'src/mongo/db/pipeline/expression.h')
-rw-r--r-- | src/mongo/db/pipeline/expression.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/mongo/db/pipeline/expression.h b/src/mongo/db/pipeline/expression.h index a324cd43b5a..918ac7a6741 100644 --- a/src/mongo/db/pipeline/expression.h +++ b/src/mongo/db/pipeline/expression.h @@ -346,10 +346,7 @@ public: static ExpressionVector parseArguments(BSONElement bsonExpr, const VariablesParseState& vps); - // TODO SERVER-23349: Currently there are subclasses which derive from this base class that - // require custom logic for expression context injection. Consider making those classes inherit - // directly from Expression so that this method can be marked 'final' rather than 'override'. - void doInjectExpressionContext() override; + void doInjectExpressionContext() final; protected: ExpressionNary() {} @@ -1279,7 +1276,7 @@ public: }; -class ExpressionSwitch final : public ExpressionFixedArity<ExpressionSwitch, 1> { +class ExpressionSwitch final : public Expression { public: void addDependencies(DepsTracker* deps) const final; Value evaluateInternal(Variables* vars) const final; @@ -1287,7 +1284,6 @@ public: static boost::intrusive_ptr<Expression> parse(BSONElement expr, const VariablesParseState& vpsIn); Value serialize(bool explain) const final; - const char* getOpName() const final; void doInjectExpressionContext() final; @@ -1376,7 +1372,7 @@ public: }; -class ExpressionZip final : public ExpressionFixedArity<ExpressionZip, 1> { +class ExpressionZip final : public Expression { public: void addDependencies(DepsTracker* deps) const final; Value evaluateInternal(Variables* vars) const final; @@ -1384,7 +1380,6 @@ public: static boost::intrusive_ptr<Expression> parse(BSONElement expr, const VariablesParseState& vpsIn); Value serialize(bool explain) const final; - const char* getOpName() const final; void doInjectExpressionContext() final; |