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;