nodes: 0, module; 1, function_definition; 2, function_name:functions; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:""" Return a sorted list of the function names available on the object.
          """; 11, assignment; 12, pattern_list; 13, call; 14, block; 15, call; 16, identifier:names; 17, list; 18, identifier:i; 19, identifier:k; 20, identifier:enumerate; 21, argument_list; 22, if_statement; 23, attribute; 24, argument_list; 25, attribute; 26, call; 27, block; 28, identifier:self; 29, identifier:_wrap; 30, call; 31, identifier:self; 32, identifier:obj; 33, attribute; 34, argument_list; 35, expression_statement; 36, identifier:sorted; 37, argument_list; 38, call; 39, identifier:isCallable; 40, call; 41, identifier:names; 42, identifier:_; 43, argument_list; 44, attribute; 45, argument_list; 46, subscript; 47, identifier:names; 48, identifier:append; 49, identifier:k; 50, attribute; 51, identifier:k; 52, identifier:self; 53, identifier:obj
code: def functions(self):
          """ Return a sorted list of the function names available on the object.
          """
          names = []
  
          for i, k in enumerate(self.obj):
              if _(self.obj[k]).isCallable():
                  names.append(k)
  
          return self._wrap(sorted(names))