summaryrefslogtreecommitdiff
path: root/src/mbgl/style/expression/parsing_context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/expression/parsing_context.cpp')
-rw-r--r--src/mbgl/style/expression/parsing_context.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mbgl/style/expression/parsing_context.cpp b/src/mbgl/style/expression/parsing_context.cpp
index 501ba2749f..c5e8908248 100644
--- a/src/mbgl/style/expression/parsing_context.cpp
+++ b/src/mbgl/style/expression/parsing_context.cpp
@@ -145,6 +145,8 @@ ParseResult ParsingContext::parse(const Convertible& value)
const type::Type actual = (*parsed)->getType();
if (*expected == type::Color && (actual == type::String || actual == type::Value)) {
parsed = wrapForType(type::Color, std::move(*parsed));
+ } else if (expected->is<type::Array>() && actual == type::Value) {
+ parsed = { std::make_unique<ArrayAssertion>(expected->get<type::Array>(), std::move(*parsed)) };
} else if ((*expected == type::String || *expected == type::Number || *expected == type::Boolean) && actual == type::Value) {
parsed = wrapForType(*expected, std::move(*parsed));
}