[poincare] In context: clean setExpressionForSymbol

Change-Id: I13f51a6c84537be43de3b78de68e77fade502344
This commit is contained in:
Émilie Feral
2017-09-22 13:21:55 +02:00
parent 2e0caf5374
commit 2b1bd5c191
8 changed files with 8 additions and 8 deletions

View File

@@ -18,7 +18,7 @@ Evaluation<double> * LocalContext::ansValue() {
return lastCalculation->output(m_parentContext);
}
void LocalContext::setExpressionForSymbolName(Expression * expression, const Symbol * symbol) {
void LocalContext::setExpressionForSymbolName(const Expression * expression, const Symbol * symbol) {
if (symbol->name() != Symbol::SpecialSymbols::Ans) {
m_parentContext->setExpressionForSymbolName(expression, symbol);
}

View File

@@ -9,7 +9,7 @@ namespace Calculation {
class LocalContext : public Poincare::Context {
public:
LocalContext(Poincare::GlobalContext * parentContext, CalculationStore * calculationStore);
void setExpressionForSymbolName(Poincare::Expression * expression, const Poincare::Symbol * symbol) override;
void setExpressionForSymbolName(const Poincare::Expression * expression, const Poincare::Symbol * symbol) override;
const Poincare::Expression * expressionForSymbol(const Poincare::Symbol * symbol) override;
private:
Poincare::Evaluation<double> * ansValue();

View File

@@ -9,7 +9,7 @@ namespace Poincare {
class Context {
public:
virtual const Expression * expressionForSymbol(const Symbol * symbol) = 0;
virtual void setExpressionForSymbolName(Expression * expression, const Symbol * symbol) = 0;
virtual void setExpressionForSymbolName(const Expression * expression, const Symbol * symbol) = 0;
};
}

View File

@@ -25,7 +25,7 @@ public:
return evaluationForSymbol(symbol);
}
const Evaluation<double> * evaluationForSymbol(const Symbol * symbol);
void setExpressionForSymbolName(Expression * expression, const Symbol * symbol) override;
void setExpressionForSymbolName(const Expression * expression, const Symbol * symbol) override;
static constexpr uint16_t k_maxNumberOfScalarExpressions = 26;
static constexpr uint16_t k_maxNumberOfListExpressions = 10;
static constexpr uint16_t k_maxNumberOfMatrixExpressions = 10;

View File

@@ -10,7 +10,7 @@ template<typename T>
class VariableContext : public Context {
public:
VariableContext(char name, Context * parentContext = nullptr);
void setExpressionForSymbolName(Expression * expression, const Symbol * symbol) override;
void setExpressionForSymbolName(const Expression * expression, const Symbol * symbol) override;
const Expression * expressionForSymbol(const Symbol * symbol) override;
private:
char m_name;

View File

@@ -64,7 +64,7 @@ const Evaluation<double> * GlobalContext::evaluationForSymbol(const Symbol * sym
return m_expressions[index];
}
void GlobalContext::setExpressionForSymbolName(Expression * expression, const Symbol * symbol) {
void GlobalContext::setExpressionForSymbolName(const Expression * expression, const Symbol * symbol) {
if (symbol->isMatrixSymbol()) {
int indexMatrix = symbol->name() - (char)Symbol::SpecialSymbols::M0;
assert(indexMatrix >= 0 && indexMatrix < k_maxNumberOfMatrixExpressions);

View File

@@ -39,7 +39,7 @@ ExpressionLayout * Store::privateCreateLayout(FloatDisplayMode floatDisplayMode,
template<typename T>
Evaluation<T> * Store::templatedEvaluate(Context& context, AngleUnit angleUnit) const {
context.setExpressionForSymbolName(const_cast<Expression *>(value()), symbol());
context.setExpressionForSymbolName(value(), symbol());
if (context.expressionForSymbol(symbol()) != nullptr) {
return context.expressionForSymbol(symbol())->evaluate<T>(context, angleUnit);
}

View File

@@ -16,7 +16,7 @@ VariableContext<T>::VariableContext(char name, Context * parentContext) :
}
template<typename T>
void VariableContext<T>::setExpressionForSymbolName(Expression * expression, const Symbol * symbol) {
void VariableContext<T>::setExpressionForSymbolName(const Expression * expression, const Symbol * symbol) {
if (symbol->name() == m_name) {
if (expression == nullptr) {
return;