summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-09-11 12:48:07 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-09-13 15:55:34 -0700
commit2c48b5a292f315feb1aa53a3a61b629bfe5f4a05 (patch)
tree53d35e83a5a52030629593074a3596d2a5818f7e /include
parentc044dd88b22ca081a7256fe663acf7e3ebf284d8 (diff)
downloadqtlocation-mapboxgl-2c48b5a292f315feb1aa53a3a61b629bfe5f4a05.tar.gz
[core] Implement array assertion fallback behavior
This was added in gl-js in #7095.
Diffstat (limited to 'include')
-rw-r--r--include/mbgl/style/expression/array_assertion.hpp47
-rw-r--r--include/mbgl/style/expression/assertion.hpp1
-rw-r--r--include/mbgl/style/expression/expression.hpp1
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,