Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
m417z
pykd
Commits
85028a9a
Commit
85028a9a
authored
Sep 17, 2019
by
ussrhero
Browse files
added TypeInfo.isConstField method (return True if a field is a const field)
parent
7d9b0faf
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
1 deletion
+23
-1
pykd/pymod.cpp
pykd/pymod.cpp
+4
-0
pykd/pytypeinfo.h
pykd/pytypeinfo.h
+13
-0
test/scripts/typeinfo.py
test/scripts/typeinfo.py
+6
-1
No files found.
pykd/pymod.cpp
View file @
85028a9a
...
...
@@ -917,6 +917,10 @@ void pykd_init()
"Return True if a field is a static field by field name"
)
.
def
(
"isStaticField"
,
TypeInfoAdapter
::
isStaticFieldByIndex
,
"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
,
"Return bit field's offset"
)
.
def
(
"bitWidth"
,
TypeInfoAdapter
::
getBitWidth
,
...
...
pykd/pytypeinfo.h
View file @
85028a9a
...
...
@@ -155,6 +155,19 @@ struct TypeInfoAdapter : public kdlib::TypeInfo {
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
)
{
AutoRestorePyState
pystate
;
...
...
test/scripts/typeinfo.py
View file @
85028a9a
...
...
@@ -380,4 +380,9 @@ class TypeInfoTest( unittest.TestCase ):
def
testIsStaticField
(
self
):
ti
=
pykd
.
typeInfo
(
"classChild"
)
self
.
assertTrue
(
ti
.
isStaticField
(
"m_staticField"
))
self
.
assertFalse
(
ti
.
isStaticField
(
"m_baseField"
))
\ No newline at end of file
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"
))
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment