Replace Poincare::Function unknown earlier (in Context)

This commit is contained in:
Ruben Dashyan
2019-09-16 16:34:40 +02:00
committed by Léa Saviot
parent dd80be026d
commit 3183ca7d7e
4 changed files with 11 additions and 30 deletions

View File

@@ -101,10 +101,6 @@ Expression Function::replaceSymbolWithExpression(const SymbolAbstract & symbol,
childAtIndex(0).replaceSymbolWithExpression(symbol, expression);
if (symbol.type() == ExpressionNode::Type::Function && strcmp(name(), symbol.name()) == 0) {
Expression value = expression.clone();
// Replace the unknown in the new expression by the function's child
Symbol xSymbol = Symbol::Builder(UCodePointUnknownX);
Expression xValue = childAtIndex(0);
value = value.replaceSymbolWithExpression(xSymbol, xValue);
Expression p = parent();
if (!p.isUninitialized() && p.node()->childAtIndexNeedsUserParentheses(value, p.indexOfChild(*this))) {
value = Parenthesis::Builder(value);
@@ -143,7 +139,6 @@ Expression Function::deepReplaceReplaceableSymbols(Context * context, bool * did
{
return replaceWithUndefinedInPlace();
}
e.replaceSymbolWithExpression(Symbol::Builder(UCodePointUnknownX), childAtIndex(0));
replaceWithInPlace(e);
*didReplace = true;
return e;