7#include "formula_node.hpp"
19 function = context.get_function(name);
21 tt_error_info().set<
"parse_location">(location);
22 throw parse_error(
"Could not find function {}()", name);
27 ttlet &const_context = context;
30 return const_context.get(name);
39 return context.get(name);
46 bool has_evaluate_xvalue()
const override {
54 return context.get(name);
63 return context.set(name, rhs);
71 return function(context, arguments);
Error information passed alongside an error code or exception.
Definition error_info.hpp:81
error_info & set(Arg &&value) noexcept
Set an information for a given tag.
Definition error_info.hpp:144
Exception thrown during parsing on an error.
Definition exception.hpp:21
Definition formula_evaluation_context.hpp:16
Definition formula_name_node.hpp:11
void resolve_function_pointer(formula_post_process_context &context) override
Resolve function and method pointers.
Definition formula_name_node.hpp:18
datum const & evaluate_xvalue(formula_evaluation_context const &context) const override
Evaluate an existing xvalue.
Definition formula_name_node.hpp:52
datum evaluate(formula_evaluation_context &context) const override
Evaluate an rvalue.
Definition formula_name_node.hpp:26
datum & assign(formula_evaluation_context &context, datum const &rhs) const override
Assign to a non-existing or existing lvalue.
Definition formula_name_node.hpp:61
datum call(formula_evaluation_context &context, datum::vector const &arguments) const override
Call a function with a datum::vector as arguments.
Definition formula_name_node.hpp:70
std::string get_name() const noexcept override
Get the name of a formula_name_node.
Definition formula_name_node.hpp:74
datum & evaluate_lvalue(formula_evaluation_context &context) const override
Evaluate an existing lvalue.
Definition formula_name_node.hpp:37
Definition formula_node.hpp:20
Definition formula_post_process_context.hpp:18
Definition parse_location.hpp:16