diff options
Diffstat (limited to 'src/context.cc')
-rw-r--r-- | src/context.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/context.cc b/src/context.cc index 4bc6ed5..65d5e23 100644 --- a/src/context.cc +++ b/src/context.cc @@ -84,6 +84,8 @@ Value Context::lookup_variable(QString name, bool silent) const } return Value(); } + if (!parent && constants.contains(name)) + return constants[name]; if (variables.contains(name)) return variables[name]; if (parent) @@ -93,6 +95,14 @@ Value Context::lookup_variable(QString name, bool silent) const return Value(); } +void Context::set_constant(QString name, Value value) +{ + if (constants.contains(name)) + PRINTA("WARNING: Attempt to modify constant '%1'.",name); + else + constants.insert(name,value); +} + Value Context::evaluate_function(QString name, const QVector<QString> &argnames, const QVector<Value> &argvalues) const { if (functions_p && functions_p->contains(name)) |