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].
|
* Copyright 2009, Ingo Weinhold, [email protected].
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
|
|
||||||
|
#include "ExpressionValues.h"
|
||||||
#include "FunctionID.h"
|
#include "FunctionID.h"
|
||||||
#include "StackFrameValues.h"
|
#include "StackFrameValues.h"
|
||||||
#include "Type.h"
|
#include "Type.h"
|
||||||
@@ -164,7 +165,8 @@ struct VariablesViewState::InfoEntryHashDefinition {
|
|||||||
VariablesViewState::VariablesViewState()
|
VariablesViewState::VariablesViewState()
|
||||||
:
|
:
|
||||||
fNodeInfos(NULL),
|
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*
|
const VariablesViewNodeInfo*
|
||||||
VariablesViewState::GetNodeInfo(ObjectID* variable,
|
VariablesViewState::GetNodeInfo(ObjectID* variable,
|
||||||
const TypeComponentPath* path) const
|
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].
|
* Copyright 2009, Ingo Weinhold, [email protected].
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
#include <util/OpenHashTable.h>
|
#include <util/OpenHashTable.h>
|
||||||
|
|
||||||
|
|
||||||
|
class ExpressionValues;
|
||||||
class ObjectID;
|
class ObjectID;
|
||||||
class StackFrameValues;
|
class StackFrameValues;
|
||||||
class Type;
|
class Type;
|
||||||
@@ -59,6 +60,10 @@ public:
|
|||||||
{ return fValues; }
|
{ return fValues; }
|
||||||
void SetValues(StackFrameValues* values);
|
void SetValues(StackFrameValues* values);
|
||||||
|
|
||||||
|
ExpressionValues* GetExpressionValues() const
|
||||||
|
{ return fExpressionValues; }
|
||||||
|
void SetExpressionValues(ExpressionValues* values);
|
||||||
|
|
||||||
const VariablesViewNodeInfo* GetNodeInfo(ObjectID* variable,
|
const VariablesViewNodeInfo* GetNodeInfo(ObjectID* variable,
|
||||||
const TypeComponentPath* path) const;
|
const TypeComponentPath* path) const;
|
||||||
inline const VariablesViewNodeInfo* GetNodeInfo(ObjectID* variable,
|
inline const VariablesViewNodeInfo* GetNodeInfo(ObjectID* variable,
|
||||||
@@ -82,6 +87,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
NodeInfoTable* fNodeInfos;
|
NodeInfoTable* fNodeInfos;
|
||||||
StackFrameValues* fValues;
|
StackFrameValues* fValues;
|
||||||
|
ExpressionValues* fExpressionValues;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user