diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index 7285ca0..664c84d 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -755,7 +755,9 @@ BOOST_PYTHON_MODULE( pykd ) "Return flag: type is function" ) .def( "isConstant", TypeInfoAdapter::isConstant, "Return flag: type is constant" ) - .def("isVtbl", TypeInfoAdapter::isVtbl, + .def( "isVtbl", TypeInfoAdapter::isVtbl, + "Return true if no type is specified" ) + .def( "isNoType", TypeInfoAdapter::isNoType, "Return true if type is virtual table" ) .def( "getCallingConvention", TypeInfoAdapter::getCallingConvention, "Returns an indicator of a methods calling convention: callingConvention" ) @@ -764,9 +766,9 @@ BOOST_PYTHON_MODULE( pykd ) .def( "__str__", TypeInfoAdapter::str, "Return type as a printable string" ) .def( "__getattr__", TypeInfoAdapter::getElementByName ) - .def("__len__", TypeInfoAdapter::getElementCount ) - .def("__getitem__", TypeInfoAdapter::getElementByIndex ) - .def("__dir__", TypeInfoAdapter::getElementDir) + .def( "__len__", TypeInfoAdapter::getElementCount ) + .def( "__getitem__", TypeInfoAdapter::getElementByIndex ) + .def( "__dir__", TypeInfoAdapter::getElementDir ) ; python::class_<kdlib::TypedVar, kdlib::TypedVarPtr, python::bases<kdlib::NumBehavior>, boost::noncopyable >("typedVar", diff --git a/pykd/pytypeinfo.h b/pykd/pytypeinfo.h index 9786671..d8fc91b 100644 --- a/pykd/pytypeinfo.h +++ b/pykd/pytypeinfo.h @@ -193,7 +193,13 @@ struct TypeInfoAdapter : public kdlib::TypeInfo { AutoRestorePyState pystate; return typeInfo.isVtbl(); } - + + static bool isNoType(kdlib::TypeInfo &typeInfo) + { + AutoRestorePyState pystate; + return typeInfo.isNoType(); + } + static void appendField( kdlib::TypeInfo &typeInfo, const std::wstring &fieldName, kdlib::TypeInfoPtr &fieldType ) { AutoRestorePyState pystate;