From c2adbe28c54db7f2c3aba4597b143f8bf4d1575b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Fri, 19 Oct 2018 14:33:56 +0200 Subject: [PATCH] [apps/global_context] Fix Pi evaluation --- apps/shared/global_context.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/shared/global_context.cpp b/apps/shared/global_context.cpp index 6da6d61be..6c5cc8b71 100644 --- a/apps/shared/global_context.cpp +++ b/apps/shared/global_context.cpp @@ -91,9 +91,6 @@ void GlobalContext::setExpressionForSymbol(const Expression & expression, const } const Expression GlobalContext::ExpressionForSymbolAndRecord(const SymbolAbstract & symbol, Ion::Storage::Record r) { - if (r.isNull()) { - return Expression(); - } if (symbol.type() == ExpressionNode::Type::Symbol) { return ExpressionForActualSymbol(symbol, r); } @@ -103,9 +100,7 @@ const Expression GlobalContext::ExpressionForSymbolAndRecord(const SymbolAbstrac const Expression GlobalContext::ExpressionForActualSymbol(const SymbolAbstract & symbol, Ion::Storage::Record r) { assert(symbol.type() == ExpressionNode::Type::Symbol); - if (!Ion::Storage::FullNameHasExtension(r.fullName(), expExtension, strlen(expExtension))) { - return Expression(); - } + // Constant symbols Symbol s = static_cast(symbol); if (s.isPi()) { @@ -114,6 +109,9 @@ const Expression GlobalContext::ExpressionForActualSymbol(const SymbolAbstract & if (s.isExponential()) { return Float(M_E); } + if (r.isNull() || !Ion::Storage::FullNameHasExtension(r.fullName(), expExtension, strlen(expExtension))) { + return Expression(); + } // Look up the file system for symbol return ExpressionFromSymbolRecord(r); }