mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 04:13:22 +08:00
[0.3.x] fixed : exception raised when comparing typeInfo with None
git-svn-id: https://pykd.svn.codeplex.com/svn@86926 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
6a5d49c132
commit
12e42cf4ce
@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "kdlib/variant.h"
|
#include "kdlib/variant.h"
|
||||||
|
#include "kdlib/exceptions.h"
|
||||||
|
|
||||||
namespace pykd {
|
namespace pykd {
|
||||||
|
|
||||||
@ -87,13 +88,27 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static python::object eq( kdlib::NumBehavior& var, python::object& obj ) {
|
static python::object eq( kdlib::NumBehavior& var, python::object& obj )
|
||||||
|
{
|
||||||
|
try {
|
||||||
return convertToPython(var) == obj;
|
return convertToPython(var) == obj;
|
||||||
}
|
}
|
||||||
|
catch( kdlib::DbgException& )
|
||||||
|
{}
|
||||||
|
|
||||||
static python::object ne( kdlib::NumBehavior& var, python::object& obj ) {
|
return python::object(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
static python::object ne( kdlib::NumBehavior& var, python::object& obj )
|
||||||
|
{
|
||||||
|
try {
|
||||||
return convertToPython(var) != obj;
|
return convertToPython(var) != obj;
|
||||||
}
|
}
|
||||||
|
catch( kdlib::DbgException& )
|
||||||
|
{}
|
||||||
|
|
||||||
|
return python::object(true);
|
||||||
|
}
|
||||||
|
|
||||||
static python::object lt( kdlib::NumBehavior& var, python::object& obj ) {
|
static python::object lt( kdlib::NumBehavior& var, python::object& obj ) {
|
||||||
return convertToPython(var) < obj;
|
return convertToPython(var) < obj;
|
||||||
@ -184,8 +199,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static python::object nonzero(kdlib::NumBehavior& var) {
|
static python::object nonzero(kdlib::NumBehavior& var) {
|
||||||
|
try {
|
||||||
return convertToPython(var) != 0;
|
return convertToPython(var) != 0;
|
||||||
}
|
}
|
||||||
|
catch( kdlib::DbgException& )
|
||||||
|
{}
|
||||||
|
|
||||||
|
return python::object(true);
|
||||||
|
}
|
||||||
|
|
||||||
static python::object long_(kdlib::NumBehavior& var ) {
|
static python::object long_(kdlib::NumBehavior& var ) {
|
||||||
return convertToPython(var);
|
return convertToPython(var);
|
||||||
|
@ -241,11 +241,15 @@ class TypeInfoTest( unittest.TestCase ):
|
|||||||
self.assertTrue( "UInt8B[10]", ti.name() )
|
self.assertTrue( "UInt8B[10]", ti.name() )
|
||||||
|
|
||||||
def testCompareWihNone(self):
|
def testCompareWihNone(self):
|
||||||
ti = None
|
|
||||||
if ti == None:
|
|
||||||
ti = pykd.typeInfo("UInt8B")
|
ti = pykd.typeInfo("UInt8B")
|
||||||
if ti == None:
|
if ti == None:
|
||||||
pass
|
pass
|
||||||
|
if ti != None:
|
||||||
|
pass
|
||||||
|
if not ti:
|
||||||
|
pass
|
||||||
|
if ti:
|
||||||
|
pass
|
||||||
|
|
||||||
def testFunction(self):
|
def testFunction(self):
|
||||||
functype = target.module.typedVar( "CdeclFuncPtr" ).type().deref()
|
functype = target.module.typedVar( "CdeclFuncPtr" ).type().deref()
|
||||||
|
Loading…
Reference in New Issue
Block a user