Patch #1739696: use code.co_code only if really necessary

This commit is contained in:
Georg Brandl 2007-07-12 08:11:29 +00:00
parent f91149e4a1
commit bc5fbd9f8c
1 changed files with 3 additions and 4 deletions

View File

@ -679,7 +679,6 @@ def getargs(co):
if not iscode(co):
raise TypeError('arg is not a code object')
code = co.co_code
nargs = co.co_argcount
names = co.co_varnames
args = list(names[:nargs])
@ -689,12 +688,12 @@ def getargs(co):
for i in range(nargs):
if args[i][:1] in ('', '.'):
stack, remain, count = [], [], []
while step < len(code):
op = ord(code[step])
while step < len(co.co_code):
op = ord(co.co_code[step])
step = step + 1
if op >= dis.HAVE_ARGUMENT:
opname = dis.opname[op]
value = ord(code[step]) + ord(code[step+1])*256
value = ord(co.co_code[step]) + ord(co.co_code[step+1])*256
step = step + 2
if opname in ('UNPACK_TUPLE', 'UNPACK_SEQUENCE'):
remain.append(value)