From ef249b0bdbd9e7e218e2e41afd0cd36d6c06af19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Tue, 10 Mar 2020 11:10:49 +0100 Subject: [PATCH] [poincare/parser] parseSpecialId must go through one of the subcases Otherwise we might go through the method without creating leftHandSide --- poincare/src/parsing/parser.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poincare/src/parsing/parser.cpp b/poincare/src/parsing/parser.cpp index a015c7104..5329e8141 100644 --- a/poincare/src/parsing/parser.cpp +++ b/poincare/src/parsing/parser.cpp @@ -444,10 +444,10 @@ void Parser::parseSpecialIdentifier(Expression & leftHandSide) { leftHandSide = Undefined::Builder(); } else if (m_currentToken.compareTo(Unreal::Name()) == 0) { leftHandSide = Unreal::Builder(); - } else if (m_currentToken.compareTo("u") == 0 - || m_currentToken.compareTo("v") == 0 - || m_currentToken.compareTo("w") == 0) - { + } else { + assert(m_currentToken.compareTo("u") == 0 + || m_currentToken.compareTo("v") == 0 + || m_currentToken.compareTo("w") == 0); /* Special case for sequences (e.g. "u(n)", "u{n}", ...) * We know that m_currentToken.text()[0] is either 'u', 'v' or 'w', so we do * not need to pass a code point to parseSequence. */