コード例 #1
0
def test_name_is_hidden():
    c = argument_stack()
    c.define_name('a', 'dude1')
    c.push_stack_frame()
    c.define_name('a', 'dude2')
    assert 'dude2' == c.lookup_name('a')
    c.pop_stack_frame()
    assert 'dude1' == c.lookup_name('a')
コード例 #2
0
 def __init__(self):
     r'''
     Initialize the visitor.
     '''
     # Tracks the output of the code.
     self._gc = generated_code()
     self._arg_stack = argument_stack()
     self._result = None
コード例 #3
0
 def __init__(self):
     self._arg_stack = argument_stack()
コード例 #4
0
def test_name_found():
    c = argument_stack()
    c.define_name('a', 'dude')
    assert 'dude' == c.lookup_name('a')
コード例 #5
0
def test_default_return():
    c = argument_stack()
    assert 'dude' == c.lookup_name('a', default='dude')
コード例 #6
0
def test_with_class():
    c = argument_stack()
    with stack_frame(c):
        c.define_name('a', 'dude')
        assert 'dude' == c.lookup_name('a')
    assert 'a' == c.lookup_name('a')
コード例 #7
0
def test_name_not_found():
    c = argument_stack()
    assert 'a' == c.lookup_name('a')
コード例 #8
0
def test_name_in_level_gone():
    c = argument_stack()
    c.push_stack_frame()
    c.define_name('a', 'dude')
    c.pop_stack_frame()
    assert 'a' == c.lookup_name('a')