Debugger: Add ExpressionValues to VariablesViewState.
- VariablesViewState is now able to optionally store previous values for expression nodes.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013, Rene Gollent, [email protected].
|
||||
* Copyright 2013-2014, Rene Gollent, [email protected].
|
||||
* Copyright 2009, Ingo Weinhold, [email protected].
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <new>
|
||||
|
||||
#include "ExpressionValues.h"
|
||||
#include "FunctionID.h"
|
||||
#include "StackFrameValues.h"
|
||||
#include "Type.h"
|
||||
@@ -164,7 +165,8 @@ struct VariablesViewState::InfoEntryHashDefinition {
|
||||
VariablesViewState::VariablesViewState()
|
||||
:
|
||||
fNodeInfos(NULL),
|
||||
fValues(NULL)
|
||||
fValues(NULL),
|
||||
fExpressionValues(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -201,6 +203,22 @@ VariablesViewState::SetValues(StackFrameValues* values)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
VariablesViewState::SetExpressionValues(ExpressionValues* values)
|
||||
{
|
||||
if (fExpressionValues == values)
|
||||
return;
|
||||
|
||||
if (fExpressionValues != NULL)
|
||||
fExpressionValues->ReleaseReference();
|
||||
|
||||
fExpressionValues = values;
|
||||
|
||||
if (fExpressionValues != NULL)
|
||||
fExpressionValues->AcquireReference();
|
||||
}
|
||||
|
||||
|
||||
const VariablesViewNodeInfo*
|
||||
VariablesViewState::GetNodeInfo(ObjectID* variable,
|
||||
const TypeComponentPath* path) const
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013, Rene Gollent, [email protected].
|
||||
* Copyright 2013-2014, Rene Gollent, [email protected].
|
||||
* Copyright 2009, Ingo Weinhold, [email protected].
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <util/OpenHashTable.h>
|
||||
|
||||
|
||||
class ExpressionValues;
|
||||
class ObjectID;
|
||||
class StackFrameValues;
|
||||
class Type;
|
||||
@@ -59,6 +60,10 @@ public:
|
||||
{ return fValues; }
|
||||
void SetValues(StackFrameValues* values);
|
||||
|
||||
ExpressionValues* GetExpressionValues() const
|
||||
{ return fExpressionValues; }
|
||||
void SetExpressionValues(ExpressionValues* values);
|
||||
|
||||
const VariablesViewNodeInfo* GetNodeInfo(ObjectID* variable,
|
||||
const TypeComponentPath* path) const;
|
||||
inline const VariablesViewNodeInfo* GetNodeInfo(ObjectID* variable,
|
||||
@@ -82,6 +87,7 @@ private:
|
||||
private:
|
||||
NodeInfoTable* fNodeInfos;
|
||||
StackFrameValues* fValues;
|
||||
ExpressionValues* fExpressionValues;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user