MCPcopy Create free account
hub / github.com/FastFlowLM/FastFlowLM / ArrayExpr

Class ArrayExpr

src/include/minja/minja.hpp:1193–1206  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1191};
1192
1193class ArrayExpr : public Expression {
1194 std::vector<std::shared_ptr<Expression>> elements;
1195public:
1196 ArrayExpr(const Location & loc, std::vector<std::shared_ptr<Expression>> && e)
1197 : Expression(loc), elements(std::move(e)) {}
1198 Value do_evaluate(const std::shared_ptr<Context> & context) const override {
1199 auto result = Value::array();
1200 for (const auto& e : elements) {
1201 if (!e) throw std::runtime_error("Array element is null");
1202 result.push_back(e->evaluate(context));
1203 }
1204 return result;
1205 }
1206};
1207
1208class DictExpr : public Expression {
1209 std::vector<std::pair<std::shared_ptr<Expression>, std::shared_ptr<Expression>>> elements;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected