From aaca53e9b020a388935bbc6d300e59575403addb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Fri, 28 Sep 2018 10:42:18 +0200 Subject: [PATCH] [poincare] Fix symbol constructor: name and its length are mandatory --- apps/sequence/sequence.cpp | 8 ++++---- poincare/include/poincare/symbol.h | 2 +- poincare/src/symbol.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/sequence/sequence.cpp b/apps/sequence/sequence.cpp index ded5f3660..359ccb34a 100644 --- a/apps/sequence/sequence.cpp +++ b/apps/sequence/sequence.cpp @@ -253,10 +253,10 @@ T Sequence::approximateToNextRank(int n, SequenceContext * sqctx) const { T vn = sqctx->valueOfSequenceAtPreviousRank(1, 0); T vnm1 = sqctx->valueOfSequenceAtPreviousRank(1, 1); T vnm2 = sqctx->valueOfSequenceAtPreviousRank(1, 2); - Poincare::Symbol vnSymbol("v(n)"); - Poincare::Symbol vn1Symbol("v(n+1)"); - Poincare::Symbol unSymbol("u(n)"); - Poincare::Symbol un1Symbol("u(n+1)"); + Poincare::Symbol vnSymbol("v(n)", 4); + Poincare::Symbol vn1Symbol("v(n+1)", 6); + Poincare::Symbol unSymbol("u(n)", 4); + Poincare::Symbol un1Symbol("u(n+1)", 6); Preferences * preferences = Poincare::Preferences::sharedPreferences(); switch (m_type) { case Type::Explicit: diff --git a/poincare/include/poincare/symbol.h b/poincare/include/poincare/symbol.h index 222ea46fb..4ea1e7dce 100644 --- a/poincare/include/poincare/symbol.h +++ b/poincare/include/poincare/symbol.h @@ -71,7 +71,7 @@ public: * characters but events as 'end of text', 'backspace'... */ UnknownX = 1, }; - Symbol(const char * name = "", int length = 0); + Symbol(const char * name, int length); Symbol(char name); Symbol(const SymbolNode * node) : Expression(node) {} diff --git a/poincare/src/symbol.cpp b/poincare/src/symbol.cpp index 094ee332f..2da879290 100644 --- a/poincare/src/symbol.cpp +++ b/poincare/src/symbol.cpp @@ -152,7 +152,7 @@ Evaluation SymbolNode::templatedApproximate(Context& context, Preferences::An assert(m_name[1] == 0); return Complex(0.0, 1.0); } - const Expression e = context.expressionForSymbol(Symbol(m_name)); + const Expression e = context.expressionForSymbol(Symbol(this)); if (e.isUninitialized()) { return Complex::Undefined(); }