mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-29 11:53:23 +08:00
[~] m_offset moved into typeClass instance
git-svn-id: https://pykd.svn.codeplex.com/svn@62029 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
004a4067ea
commit
1b87344acb
@ -261,7 +261,6 @@ TypeInfo::TypeInfo( const std::string &moduleName, const std::string &typeName
|
||||
m_size = 0;
|
||||
m_baseType = false;
|
||||
m_pointer = false;
|
||||
m_offset = 0;
|
||||
try {
|
||||
|
||||
if ( typeName.find("*") < typeName.size() )
|
||||
@ -338,10 +337,9 @@ TypeInfo::TypeInfo( const std::string &moduleName, const std::string &typeName
|
||||
boost::python::object
|
||||
TypeInfo::build( ULONG offset /* = 0 */ ) const
|
||||
{
|
||||
boost::shared_ptr<typeClass> ptr( new typeClass( *this ) );
|
||||
boost::shared_ptr<typeClass> ptr( new typeClass( *this, offset ) );
|
||||
boost::python::object var( ptr );
|
||||
ptr->setPyObj( var );
|
||||
ptr->getTypeInfo().setOffset(offset);
|
||||
|
||||
TypeFieldList::const_iterator field = m_fields.begin();
|
||||
for ( field = m_fields.begin(); field != m_fields.end(); ++field )
|
||||
@ -383,10 +381,9 @@ TypeInfo::load( ULONG64 addr, ULONG offset /* = 0 */ ) const
|
||||
if ( m_baseType )
|
||||
return loadBaseType( addr );
|
||||
|
||||
boost::shared_ptr<typedVarClass> ptr( new typedVarClass( *this, addr ) );
|
||||
boost::shared_ptr<typedVarClass> ptr( new typedVarClass( *this, offset, addr ) );
|
||||
boost::python::object var( ptr );
|
||||
ptr->setPyObj( var );
|
||||
ptr->getTypeInfo().setOffset(offset);
|
||||
|
||||
TypeFieldList::const_iterator field = m_fields.begin();
|
||||
for ( field = m_fields.begin(); field != m_fields.end(); ++field )
|
||||
|
@ -85,8 +85,7 @@ public:
|
||||
TypeInfo() :
|
||||
m_size( 0 ),
|
||||
m_baseType( false ),
|
||||
m_pointer( false ),
|
||||
m_offset(0)
|
||||
m_pointer( false )
|
||||
{}
|
||||
|
||||
TypeInfo( const std::string &moduleName, const std::string &typeName );
|
||||
@ -128,10 +127,6 @@ public:
|
||||
return m_pointer;
|
||||
}
|
||||
|
||||
// field offset getter/setter
|
||||
void setOffset(ULONG offset) { m_offset = offset; }
|
||||
ULONG getOffset() const { return m_offset; }
|
||||
|
||||
private:
|
||||
|
||||
static TypeInfoMap g_typeInfoCache;
|
||||
@ -154,7 +149,6 @@ private:
|
||||
TypeFieldList m_fields;
|
||||
std::string m_typeName;
|
||||
ULONG m_size;
|
||||
ULONG m_offset;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
@ -164,12 +158,15 @@ class typeClass
|
||||
public:
|
||||
|
||||
typeClass()
|
||||
: m_offset(0)
|
||||
{
|
||||
}
|
||||
|
||||
typeClass(
|
||||
const TypeInfo &typeInfo
|
||||
const TypeInfo &typeInfo,
|
||||
ULONG offset
|
||||
) : m_typeInfo(typeInfo)
|
||||
, m_offset(offset)
|
||||
{
|
||||
}
|
||||
|
||||
@ -220,10 +217,12 @@ public:
|
||||
// no data - nothing print
|
||||
}
|
||||
|
||||
ULONG getOffset() const { return m_typeInfo.getOffset(); }
|
||||
// field offset getter/setter
|
||||
ULONG getOffset() const { return m_offset; }
|
||||
|
||||
private:
|
||||
TypeInfo m_typeInfo;
|
||||
ULONG m_offset;
|
||||
boost::python::object m_pyobj;
|
||||
};
|
||||
|
||||
@ -233,11 +232,11 @@ class typedVarClass : public typeClass {
|
||||
|
||||
public:
|
||||
|
||||
typedVarClass()
|
||||
typedVarClass() : m_addr(0)
|
||||
{}
|
||||
|
||||
typedVarClass( const TypeInfo &typeInfo, ULONG64 addr) :
|
||||
typeClass( typeInfo ),
|
||||
|
||||
typedVarClass( const TypeInfo &typeInfo, ULONG offset, ULONG64 addr) :
|
||||
typeClass( typeInfo, offset ),
|
||||
m_addr( addr )
|
||||
{}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user