pylint-bot / test

0 stars 0 forks source link

Call contexts aren't propagated properly #177

Open pylint-bot opened 8 years ago

pylint-bot commented 8 years ago

Originally reported by: Claudiu Popa (BitBucket: PCManticore, GitHub: @PCManticore?)


Given the following code, astroid can't understand it, because call contexts are improperly passed in the inference chain.

In this particular example, when chest is called, its call context will contain the arguments Name(a), Name(b), without the references to their original values.

#!python

from astroid.test_utils import extract_node
n = extract_node('''
def chest(a):
    return a * a

def best(a, b):
    return chest(a)

def test(a, b, c):
    return best(a, b)

test(4, 5, 6) #@
''')
print(n)
print(n.infered())