def visit_FunctionDef(self, node):

        pos = self.block_position(node)

        if not self.symbols['functions'].has_key(node.name):
            self.symbols['functions'][node.name] = {'assignments': [], 'uses': []}

        self.symbols['functions'][node.name]['assignments'].append(pos)

        self.generic_visit(node)
Visits FunctionDef nodes in a tree.  Adds relevant data about them to symbols.
dataset/ETHPy150Open earwig/bitshift/bitshift/parser/python.py/_TreeWalker.visit_FunctionDef