Bug #1697782: remove all remaining code that uses types.InstanceType.

This commit is contained in:
Georg Brandl 2007-04-11 19:24:50 +00:00
parent b5ddcfd2a2
commit 57b39e0916
8 changed files with 10 additions and 38 deletions

View File

@ -167,11 +167,10 @@ function calls leading up to the error, in the order they occurred.</p>'''
exception = ['<p>%s: %s' % (strong(pydoc.html.escape(str(etype))),
pydoc.html.escape(str(evalue)))]
if type(evalue) is types.InstanceType:
for name in dir(evalue):
if name[:1] == '_': continue
value = pydoc.html.repr(getattr(evalue, name))
exception.append('\n<br>%s%s&nbsp;=\n%s' % (indent, name, value))
for name in dir(evalue):
if name[:1] == '_': continue
value = pydoc.html.repr(getattr(evalue, name))
exception.append('\n<br>%s%s&nbsp;=\n%s' % (indent, name, value))
import traceback
return head + ''.join(frames) + ''.join(exception) + '''
@ -239,10 +238,9 @@ function calls leading up to the error, in the order they occurred.
frames.append('\n%s\n' % '\n'.join(rows))
exception = ['%s: %s' % (str(etype), str(evalue))]
if type(evalue) is types.InstanceType:
for name in dir(evalue):
value = pydoc.text.repr(getattr(evalue, name))
exception.append('\n%s%s = %s' % (" "*4, name, value))
for name in dir(evalue):
value = pydoc.text.repr(getattr(evalue, name))
exception.append('\n%s%s = %s' % (" "*4, name, value))
import traceback
return head + ''.join(frames) + ''.join(exception) + '''

View File

@ -57,15 +57,6 @@ class ObjectTreeItem(TreeItem):
sublist.append(item)
return sublist
class InstanceTreeItem(ObjectTreeItem):
def IsExpandable(self):
return True
def GetSubList(self):
sublist = ObjectTreeItem.GetSubList(self)
sublist.insert(0,
make_objecttreeitem("__class__ =", self.object.__class__))
return sublist
class ClassTreeItem(ObjectTreeItem):
def IsExpandable(self):
return True
@ -120,7 +111,6 @@ dispatch = {
TupleType: SequenceTreeItem,
ListType: SequenceTreeItem,
DictType: DictTreeItem,
InstanceType: InstanceTreeItem,
ClassType: ClassTreeItem,
}

View File

@ -574,8 +574,6 @@ def _getmethods(obj, methods):
attr = getattr(obj, name)
if callable(attr):
methods[name] = 1
if type(obj) == types.InstanceType:
_getmethods(obj.__class__, methods)
if type(obj) == types.ClassType:
for super in obj.__bases__:
_getmethods(super, methods)

View File

@ -518,8 +518,7 @@ class ComponentItem(SelectableItem):
ss = repr(seld)
elif IsRange(seld):
start, stop = seld.start, seld.stop
if type(start) == InstanceType == type(stop) and \
start.__class__ == self.__class__ == stop.__class__:
if type(start) == type(stop) == type(self):
ss = str(start.seld) + " thru " + str(stop.seld)
else:
ss = str(seld)

View File

@ -484,8 +484,8 @@ def windowposition(folder, pos=None):
openwindow(fsr)
if not pos:
return _getwindowposition(folder_alias)
if type(pos) == InstanceType:
# pos might be a QDPoint object as returned by _getwindowposition
if aetypes.IsQDPoint(pos):
# QDPoint object as returned by _getwindowposition
pos = (pos.h, pos.v)
return _setwindowposition(folder_alias, pos)

View File

@ -1433,8 +1433,6 @@ def describe(thing):
return 'function ' + thing.__name__
if inspect.ismethod(thing):
return 'method ' + thing.__name__
if type(thing) is types.InstanceType:
return 'instance of ' + thing.__class__.__name__
return type(thing).__name__
def locate(path, forceload=0):

View File

@ -1,10 +0,0 @@
# http://python.org/sf/1267884
import types
class C:
__str__ = types.InstanceType.__str__
if __name__ == '__main__':
str(C()) # segfault: infinite recursion in C

View File

@ -15,7 +15,6 @@ class TestIsInstanceExceptions(unittest.TestCase):
# (leading to an "undetected error" in the debug build). Set up is,
# isinstance(inst, cls) where:
#
# - inst isn't an InstanceType
# - cls isn't a ClassType, a TypeType, or a TupleType
# - cls has a __bases__ attribute
# - inst has a __class__ attribute