added TypeInfo.isConstField method (return True if a field is a const field)
This commit is contained in:
parent
7d9b0faffa
commit
85028a9a1b
@ -917,6 +917,10 @@ void pykd_init()
|
|||||||
"Return True if a field is a static field by field name")
|
"Return True if a field is a static field by field name")
|
||||||
.def("isStaticField", TypeInfoAdapter::isStaticFieldByIndex,
|
.def("isStaticField", TypeInfoAdapter::isStaticFieldByIndex,
|
||||||
"Return True if a field is a static field by field name")
|
"Return True if a field is a static field by field name")
|
||||||
|
.def("isConstField", TypeInfoAdapter::isConstField,
|
||||||
|
"Return True if a field is a const field by field name")
|
||||||
|
.def("isConstField", TypeInfoAdapter::isConstFieldByIndex,
|
||||||
|
"Return True if a field is a const field by field name")
|
||||||
.def("bitOffset", TypeInfoAdapter::getBitOffset,
|
.def("bitOffset", TypeInfoAdapter::getBitOffset,
|
||||||
"Return bit field's offset")
|
"Return bit field's offset")
|
||||||
.def("bitWidth", TypeInfoAdapter::getBitWidth,
|
.def("bitWidth", TypeInfoAdapter::getBitWidth,
|
||||||
|
@ -155,6 +155,19 @@ struct TypeInfoAdapter : public kdlib::TypeInfo {
|
|||||||
return typeInfo->isStaticMember(index);
|
return typeInfo->isStaticMember(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static bool isConstField(const kdlib::TypeInfoPtr &typeInfo, const std::wstring &name)
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return typeInfo->isConstMember(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isConstFieldByIndex(const kdlib::TypeInfoPtr &typeInfo, size_t index)
|
||||||
|
{
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return typeInfo->isConstMember(index);
|
||||||
|
}
|
||||||
|
|
||||||
static kdlib::TypeInfoPtr getElementByName( kdlib::TypeInfo &typeInfo, const std::wstring &name )
|
static kdlib::TypeInfoPtr getElementByName( kdlib::TypeInfo &typeInfo, const std::wstring &name )
|
||||||
{
|
{
|
||||||
AutoRestorePyState pystate;
|
AutoRestorePyState pystate;
|
||||||
|
@ -380,4 +380,9 @@ class TypeInfoTest( unittest.TestCase ):
|
|||||||
def testIsStaticField(self):
|
def testIsStaticField(self):
|
||||||
ti = pykd.typeInfo("classChild")
|
ti = pykd.typeInfo("classChild")
|
||||||
self.assertTrue(ti.isStaticField("m_staticField"))
|
self.assertTrue(ti.isStaticField("m_staticField"))
|
||||||
self.assertFalse(ti.isStaticField("m_baseField"))
|
self.assertFalse(ti.isStaticField("m_baseField"))
|
||||||
|
|
||||||
|
def testIsConstField(self):
|
||||||
|
ti = pykd.typeInfo("classChild")
|
||||||
|
self.assertTrue(ti.isStaticField("m_staticConst"))
|
||||||
|
self.assertFalse(ti.isConstField("m_staticConst"))
|
Loading…
Reference in New Issue
Block a user