From 30466d4587fdcd31540022961cba32c61f57b45f Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Fri, 13 Sep 2013 14:16:33 +0000 Subject: [PATCH] [0.3.x] added : expr supports cplusplus syntax git-svn-id: https://pykd.svn.codeplex.com/svn@85198 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dbgengine.cpp | 7 ++++--- pykd/dbgengine.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pykd/dbgengine.cpp b/pykd/dbgengine.cpp index 6896f5b..ca61c12 100644 --- a/pykd/dbgengine.cpp +++ b/pykd/dbgengine.cpp @@ -4,6 +4,7 @@ #include "kdlib/typeinfo.h" #include "dbgengine.h" +#include "variant.h" namespace pykd { @@ -131,13 +132,13 @@ std::wstring debugCommand( const std::wstring &command ) /////////////////////////////////////////////////////////////////////////////// -unsigned long long evaluate( const std::wstring &expression ) +python::object evaluate( const std::wstring &expression, bool cplusplus ) { AutoRestorePyState pystate; - unsigned long long result = kdlib::evaluate(expression); + kdlib::NumVariant var = kdlib::evaluate(expression, cplusplus ); - return result; + return pykd::NumVariantAdaptor::convertToPython( var ); } /////////////////////////////////////////////////////////////////////////////// diff --git a/pykd/dbgengine.h b/pykd/dbgengine.h index 956a196..e53f956 100644 --- a/pykd/dbgengine.h +++ b/pykd/dbgengine.h @@ -21,7 +21,7 @@ void loadDump( const std::wstring &fileName ); void attachKernel( const std::wstring &connectOptions = L"" ); std::wstring debugCommand( const std::wstring &command ); -unsigned long long evaluate( const std::wstring &expression ); +python::object evaluate( const std::wstring &expression, bool cplusplus = false ); python::tuple getSourceLine( kdlib::MEMOFFSET_64 offset = 0 );