From c7f15385a6bf2a810d71bc153b446e7d47bdabfa Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Mon, 16 Sep 2019 14:37:22 +0200 Subject: [PATCH] [apps/shared/global_context] Remove ExpressionFromSymbolRecord and ExpressionFromFunctionRecord --- apps/shared/global_context.cpp | 32 +++++++++++++------------------- apps/shared/global_context.h | 9 +-------- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/apps/shared/global_context.cpp b/apps/shared/global_context.cpp index 6b832e097..6f214a5f9 100644 --- a/apps/shared/global_context.cpp +++ b/apps/shared/global_context.cpp @@ -14,26 +14,10 @@ bool GlobalContext::SymbolAbstractNameIsFree(const char * baseName) { return SymbolAbstractRecordWithBaseName(baseName).isNull(); } -Poincare::Expression GlobalContext::ExpressionFromSymbolRecord(Ion::Storage::Record record) { - assert(Ion::Storage::FullNameHasExtension(record.fullName(), Ion::Storage::expExtension, strlen(Ion::Storage::expExtension))); - // An expression record value is the expression itself - Ion::Storage::Record::Data d = record.value(); - return Expression::ExpressionFromAddress(d.buffer, d.size); -} -Poincare::Expression GlobalContext::ExpressionFromFunctionRecord(Ion::Storage::Record record) { - if (!Ion::Storage::FullNameHasExtension(record.fullName(), Ion::Storage::funcExtension, strlen(Ion::Storage::funcExtension))) { - return Expression(); - } - /* An function record value has metadata before the expression. To get the - * expression, use the function record handle. */ - ContinuousFunction f = ContinuousFunction(record); - return f.expressionClone(); -} - const Layout GlobalContext::LayoutForRecord(Ion::Storage::Record record) { assert(!record.isNull()); if (Ion::Storage::FullNameHasExtension(record.fullName(), Ion::Storage::expExtension, strlen(Ion::Storage::expExtension))) { - return PoincareHelpers::CreateLayout(ExpressionFromSymbolRecord(record)); + return PoincareHelpers::CreateLayout(ExpressionForActualSymbol(record)); } else { assert(Ion::Storage::FullNameHasExtension(record.fullName(), Ion::Storage::funcExtension, strlen(Ion::Storage::funcExtension))); return ContinuousFunction(record).layout(); @@ -84,8 +68,18 @@ const Expression GlobalContext::ExpressionForActualSymbol(Ion::Storage::Record r if (!Ion::Storage::FullNameHasExtension(r.fullName(), Ion::Storage::expExtension, strlen(Ion::Storage::expExtension))) { return Expression(); } - // Look up the file system for symbol - return ExpressionFromSymbolRecord(r); + // An expression record value is the expression itself + Ion::Storage::Record::Data d = r.value(); + return Expression::ExpressionFromAddress(d.buffer, d.size); +} + +const Expression GlobalContext::ExpressionForFunction(const SymbolAbstract & symbol, Ion::Storage::Record r) { + if (!Ion::Storage::FullNameHasExtension(r.fullName(), Ion::Storage::funcExtension, strlen(Ion::Storage::funcExtension))) { + return Expression(); + } + /* An function record value has metadata before the expression. To get the + * expression, use the function record handle. */ + return ContinuousFunction(r).expressionClone(); } Ion::Storage::Record::ErrorStatus GlobalContext::SetExpressionForActualSymbol(const Expression & expression, const SymbolAbstract & symbol, Ion::Storage::Record previousRecord) { diff --git a/apps/shared/global_context.h b/apps/shared/global_context.h index f0a57f2fa..79f7c069f 100644 --- a/apps/shared/global_context.h +++ b/apps/shared/global_context.h @@ -19,10 +19,6 @@ public: // Storage information static bool SymbolAbstractNameIsFree(const char * baseName); - // Expression from record - static Poincare::Expression ExpressionFromSymbolRecord(Ion::Storage::Record record); - static Poincare::Expression ExpressionFromFunctionRecord(Ion::Storage::Record record); - static const Poincare::Layout LayoutForRecord(Ion::Storage::Record record); // Destroy records @@ -38,10 +34,7 @@ private: // Expression getters static const Poincare::Expression ExpressionForSymbolAndRecord(const Poincare::SymbolAbstract & symbol, Ion::Storage::Record r); static const Poincare::Expression ExpressionForActualSymbol(Ion::Storage::Record r); - static const Poincare::Expression ExpressionForFunction(const Poincare::SymbolAbstract & symbol, Ion::Storage::Record r) { - assert(symbol.type() == Poincare::ExpressionNode::Type::Function); - return ExpressionFromFunctionRecord(r); - } + static const Poincare::Expression ExpressionForFunction(const Poincare::SymbolAbstract & symbol, Ion::Storage::Record r); // Expression setters static Ion::Storage::Record::ErrorStatus SetExpressionForActualSymbol(const Poincare::Expression & expression, const Poincare::SymbolAbstract & symbol, Ion::Storage::Record previousRecord); static Ion::Storage::Record::ErrorStatus SetExpressionForFunction(const Poincare::Expression & expression, const Poincare::SymbolAbstract & symbol, Ion::Storage::Record previousRecord);