From 234c60d1f221aa2630915f72b552062dc5e1a996 Mon Sep 17 00:00:00 2001 From: "SND\\EreTIk_cp" Date: Wed, 7 Mar 2012 18:38:44 +0000 Subject: [PATCH] [0.1.x] + DIA symbol comparator + DIA symbol hash git-svn-id: https://pykd.svn.codeplex.com/svn@74770 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dbgext.cpp | 4 +++- pykd/diawrapper.cpp | 7 +++++++ pykd/diawrapper.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index 28aecb4..9e962ac 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -725,7 +725,9 @@ BOOST_PYTHON_MODULE( pykd ) .def( "__str__", &pyDia::Symbol::print) .def("__getitem__", &pyDia::Symbol::getChildByName) .def("__len__", &pyDia::Symbol::getChildCount ) - .def("__getitem__", &pyDia::Symbol::getChildByIndex); + .def("__getitem__", &pyDia::Symbol::getChildByIndex) + .def("__eq__", &pyDia::Symbol::eq) + .def("__hash__", &pyDia::Symbol::getIndexId); python::class_ >( "DiaScope", "class wrapper for MS DIA Symbol", python::no_init ) diff --git a/pykd/diawrapper.cpp b/pykd/diawrapper.cpp index 743b685..09709af 100644 --- a/pykd/diawrapper.cpp +++ b/pykd/diawrapper.cpp @@ -378,6 +378,13 @@ std::string Symbol::print() //////////////////////////////////////////////////////////////////////////////// +bool Symbol::eq(Symbol &rhs) +{ + return getIndexId() == rhs.getIndexId(); +} + +//////////////////////////////////////////////////////////////////////////////// + GlobalScope::GlobalScope( __inout DiaDataSourcePtr &_scope, __inout DiaSessionPtr &_session, diff --git a/pykd/diawrapper.h b/pykd/diawrapper.h index 1beee34..09345d5 100644 --- a/pykd/diawrapper.h +++ b/pykd/diawrapper.h @@ -140,6 +140,7 @@ public: std::string print(); + bool eq(Symbol &rhs); public: typedef std::pair ValueNameEntry;