diff --git a/pykd/pykdver.h b/pykd/pykdver.h index edc0dbd..d8afb21 100644 --- a/pykd/pykdver.h +++ b/pykd/pykdver.h @@ -2,7 +2,7 @@ #define PYKD_VERSION_MAJOR 0 #define PYKD_VERSION_MINOR 3 #define PYKD_VERSION_SUBVERSION 0 -#define PYKD_VERSION_BUILDNO 32 +#define PYKD_VERSION_BUILDNO 33 #define __VER_STR2__(x) #x #define __VER_STR1__(x) __VER_STR2__(x) diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index 1ee9cb0..25fce2c 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -722,6 +722,8 @@ BOOST_PYTHON_MODULE( pykd ) "Return flag: type is function" ) .def( "isConstant", TypeInfoAdapter::isConstant, "Return flag: type is constant" ) + .def("isVtbl", TypeInfoAdapter::isVtbl, + "Return true if type is virtual table" ) .def( "getCallingConvention", TypeInfoAdapter::getCallingConvention, "Returns an indicator of a methods calling convention: callingConvention" ) .def( "getClassParent", TypeInfoAdapter::getClassParent, diff --git a/pykd/pytypeinfo.h b/pykd/pytypeinfo.h index df07bf1..8495c28 100644 --- a/pykd/pytypeinfo.h +++ b/pykd/pytypeinfo.h @@ -181,6 +181,12 @@ struct TypeInfoAdapter : public kdlib::TypeInfo { AutoRestorePyState pystate; return typeInfo.isFunction(); } + + static bool isVtbl(kdlib::TypeInfo &typeInfo) + { + AutoRestorePyState pystate; + return typeInfo.isVtbl(); + } static void appendField( kdlib::TypeInfo &typeInfo, const std::wstring &fieldName, kdlib::TypeInfoPtr &fieldType ) {