diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2018-09-11 12:48:07 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2018-09-13 15:55:34 -0700 |
commit | 2c48b5a292f315feb1aa53a3a61b629bfe5f4a05 (patch) | |
tree | 53d35e83a5a52030629593074a3596d2a5818f7e /include/mbgl | |
parent | c044dd88b22ca081a7256fe663acf7e3ebf284d8 (diff) | |
download | qtlocation-mapboxgl-2c48b5a292f315feb1aa53a3a61b629bfe5f4a05.tar.gz |
[core] Implement array assertion fallback behavior
This was added in gl-js in #7095.
Diffstat (limited to 'include/mbgl')
-rw-r--r-- | include/mbgl/style/expression/array_assertion.hpp | 47 | ||||
-rw-r--r-- | include/mbgl/style/expression/assertion.hpp | 1 | ||||
-rw-r--r-- | include/mbgl/style/expression/expression.hpp | 1 |
3 files changed, 1 insertions, 48 deletions
diff --git a/include/mbgl/style/expression/array_assertion.hpp b/include/mbgl/style/expression/array_assertion.hpp deleted file mode 100644 index 0c0912b73e..0000000000 --- a/include/mbgl/style/expression/array_assertion.hpp +++ /dev/null @@ -1,47 +0,0 @@ -#pragma once - -#include <mbgl/style/expression/expression.hpp> -#include <mbgl/style/expression/type.hpp> -#include <mbgl/style/expression/parsing_context.hpp> -#include <mbgl/style/conversion.hpp> - -#include <memory> - -namespace mbgl { -namespace style { -namespace expression { - -class ArrayAssertion : public Expression { -public: - ArrayAssertion(type::Array type_, std::unique_ptr<Expression> input_) : - Expression(Kind::ArrayAssertion, type_), - input(std::move(input_)) - {} - - static ParseResult parse(const mbgl::style::conversion::Convertible& value, ParsingContext& ctx); - - EvaluationResult evaluate(const EvaluationContext& params) const override; - void eachChild(const std::function<void(const Expression&)>& visit) const override; - - bool operator==(const Expression& e) const override { - if (e.getKind() == Kind::ArrayAssertion) { - auto rhs = static_cast<const ArrayAssertion*>(&e); - return getType() == rhs->getType() && *input == *(rhs->input); - } - return false; - } - - std::vector<optional<Value>> possibleOutputs() const override { - return input->possibleOutputs(); - } - - mbgl::Value serialize() const override; - std::string getOperator() const override { return "array"; } - -private: - std::unique_ptr<Expression> input; -}; - -} // namespace expression -} // namespace style -} // namespace mbgl diff --git a/include/mbgl/style/expression/assertion.hpp b/include/mbgl/style/expression/assertion.hpp index 239cdf2ea6..0dec89dac9 100644 --- a/include/mbgl/style/expression/assertion.hpp +++ b/include/mbgl/style/expression/assertion.hpp @@ -24,6 +24,7 @@ public: std::vector<optional<Value>> possibleOutputs() const override; + mbgl::Value serialize() const override; std::string getOperator() const override; private: diff --git a/include/mbgl/style/expression/expression.hpp b/include/mbgl/style/expression/expression.hpp index bfd1e08ee7..ce02c4114b 100644 --- a/include/mbgl/style/expression/expression.hpp +++ b/include/mbgl/style/expression/expression.hpp @@ -118,7 +118,6 @@ enum class Kind : int32_t { Coalesce, CompoundExpression, Literal, - ArrayAssertion, At, Interpolate, Assertion, |