From 732fd844018e9bec3b0a4b8799360636ee29f496 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sat, 25 Oct 2014 16:19:38 -0400 Subject: [PATCH] Debugger: Add interface for expression evaluation. SourceLanguage: - Add a virtual to the language base class that requests expression evaluation. --- src/apps/debugger/source_language/SourceLanguage.cpp | 11 ++++++++++- src/apps/debugger/source_language/SourceLanguage.h | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/apps/debugger/source_language/SourceLanguage.cpp b/src/apps/debugger/source_language/SourceLanguage.cpp index 6533f11b65..8b11049f94 100644 --- a/src/apps/debugger/source_language/SourceLanguage.cpp +++ b/src/apps/debugger/source_language/SourceLanguage.cpp @@ -1,5 +1,6 @@ /* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2014, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ @@ -20,8 +21,16 @@ SourceLanguage::GetSyntaxHighlighter() const status_t -SourceLanguage::ParseTypeExpression(const BString &expression, +SourceLanguage::ParseTypeExpression(const BString& expression, TeamTypeInformation* info, Type*& _resultType) const { return B_NOT_SUPPORTED; } + + +status_t +SourceLanguage::EvaluateExpression(const BString& expression, + Value*& _resultValue) +{ + return B_NOT_SUPPORTED; +} diff --git a/src/apps/debugger/source_language/SourceLanguage.h b/src/apps/debugger/source_language/SourceLanguage.h index d33ed50bce..c883e9ddd6 100644 --- a/src/apps/debugger/source_language/SourceLanguage.h +++ b/src/apps/debugger/source_language/SourceLanguage.h @@ -1,5 +1,6 @@ /* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2014, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #ifndef SOURCE_LANGUAGE_H @@ -13,6 +14,7 @@ class BString; class SyntaxHighlighter; class TeamTypeInformation; class Type; +class Value; class SourceLanguage : public BReferenceable { @@ -28,6 +30,9 @@ public: virtual status_t ParseTypeExpression(const BString &expression, TeamTypeInformation* info, Type*& _resultType) const; + + virtual status_t EvaluateExpression(const BString& expression, + Value*& _output); };