コード例 #1
0
 def _visit_child_scope(self, node):
     pyobject = (
         self.pyobject.get_module().get_scope().get_inner_scope_for_line(
             node.lineno).pyobject)
     visitor = _LocalUnboundNameFinder(pyobject, self)
     for child in ast.get_child_nodes(node):
         ast.walk(child, visitor)
コード例 #2
0
 def _handle_conditional_node(self, node):
     self.conditional = True
     try:
         for child in ast.get_child_nodes(node):
             ast.walk(child, self)
     finally:
         self.conditional = False
コード例 #3
0
ファイル: pyobjects.py プロジェクト: shaypal5/rope
 def _create_structural_attributes(self):
     if self.visitor_class is None:
         return {}
     new_visitor = self.visitor_class(self.pycore, self)
     for child in ast.get_child_nodes(self.ast_node):
         ast.walk(child, new_visitor)
     self.defineds = new_visitor.defineds
     return new_visitor.names
コード例 #4
0
ファイル: pyobjects.py プロジェクト: 0Chuzz/python-mode
 def _create_structural_attributes(self):
     if self.visitor_class is None:
         return {}
     new_visitor = self.visitor_class(self.pycore, self)
     for child in ast.get_child_nodes(self.ast_node):
         ast.walk(child, new_visitor)
     self.defineds = new_visitor.defineds
     return new_visitor.names
コード例 #5
0
 def _FunctionDef(self, node):
     _ScopeVisitor._FunctionDef(self, node)
     if len(node.args.args) > 0:
         first = node.args.args[0]
         if isinstance(first, ast.arg):
             new_visitor = _ClassInitVisitor(self, first.arg)
             for child in ast.get_child_nodes(node):
                 ast.walk(child, new_visitor)
コード例 #6
0
 def _FunctionDef(self, node):
     _ScopeVisitor._FunctionDef(self, node)
     if len(node.args.args) > 0:
         first = node.args.args[0]
         if isinstance(first, ast.Name):
             new_visitor = _ClassInitVisitor(self, first.id)
             for child in ast.get_child_nodes(node):
                 ast.walk(child, new_visitor)
コード例 #7
0
ファイル: pyscopes.py プロジェクト: climbus/rope
 def _visit_comprehension(self):
     if self.names is None:
         new_visitor = self.visitor(self.pycore, self.pyobject)
         for node in ast.get_child_nodes(self.pyobject.get_ast()):
             ast.walk(node, new_visitor)
         self.names = dict(self.parent.get_names())
         self.names.update(new_visitor.names)
         self.defineds = new_visitor.defineds
コード例 #8
0
ファイル: astutils.py プロジェクト: 0Chuzz/python-mode
 def _Tuple(self, node):
     new_levels = []
     if self.levels is not None:
         new_levels = list(self.levels)
         new_levels.append(self.index)
     self.index += 1
     visitor = _NodeNameCollector(new_levels)
     for child in ast.get_child_nodes(node):
         ast.walk(child, visitor)
     self.names.extend(visitor.names)
コード例 #9
0
ファイル: pyscopes.py プロジェクト: ArthurChiao/vim_awesome
 def _visit_function(self):
     if self.names is None:
         new_visitor = self.visitor(self.pycore, self.pyobject)
         for n in ast.get_child_nodes(self.pyobject.get_ast()):
             ast.walk(n, new_visitor)
         self.names = new_visitor.names
         self.names.update(self.pyobject.get_parameters())
         self.returned_asts = new_visitor.returned_asts
         self.is_generator = new_visitor.generator
         self.defineds = new_visitor.defineds
コード例 #10
0
ファイル: astutils.py プロジェクト: Even8090/hrv_features
 def _Tuple(self, node):
     new_levels = []
     if self.levels is not None:
         new_levels = list(self.levels)
         new_levels.append(self.index)
     self.index += 1
     visitor = _NodeNameCollector(new_levels)
     for child in ast.get_child_nodes(node):
         ast.walk(child, visitor)
     self.names.extend(visitor.names)
コード例 #11
0
 def _get_nearest_roots(self, node):
     if node not in self._nearest_roots:
         result = []
         for child in ast.get_child_nodes(node):
             if child in self.matched_asts:
                 result.append(child)
             else:
                 result.extend(self._get_nearest_roots(child))
         self._nearest_roots[node] = result
     return self._nearest_roots[node]
コード例 #12
0
 def _visit_function(self):
     if self.names is None:
         new_visitor = self.visitor(self.pycore, self.pyobject)
         for n in ast.get_child_nodes(self.pyobject.get_ast()):
             ast.walk(n, new_visitor)
         self.names = new_visitor.names
         self.names.update(self.pyobject.get_parameters())
         self.returned_asts = new_visitor.returned_asts
         self.is_generator = new_visitor.generator
         self.defineds = new_visitor.defineds
コード例 #13
0
ファイル: pyobjectsdef.py プロジェクト: mcepl/rope
 def _FunctionDef(self, node):
     _ScopeVisitor._FunctionDef(self, node)
     if len(node.args.args) > 0:
         first = node.args.args[0]
         new_visitor = None
         if isinstance(first, pycompat.ast_arg_type):
             new_visitor = _ClassInitVisitor(self, pycompat.get_ast_arg_arg(first))
         if new_visitor is not None:
             for child in ast.get_child_nodes(node):
                 ast.walk(child, new_visitor)
コード例 #14
0
 def _get_nearest_roots(self, node):
     if node not in self._nearest_roots:
         result = []
         for child in ast.get_child_nodes(node):
             if child in self.matched_asts:
                 result.append(child)
             else:
                 result.extend(self._get_nearest_roots(child))
         self._nearest_roots[node] = result
     return self._nearest_roots[node]
コード例 #15
0
 def _FunctionDef(self, node):
     _ScopeVisitor._FunctionDef(self, node)
     if len(node.args.args) > 0:
         first = node.args.args[0]
         new_visitor = None
         if isinstance(first, pycompat.ast_arg_type):
             new_visitor = _ClassInitVisitor(self, pycompat.get_ast_arg_arg(first))
         if new_visitor is not None:
             for child in ast.get_child_nodes(node):
                 ast.walk(child, new_visitor)
コード例 #16
0
ファイル: pyobjectsdef.py プロジェクト: emacsway-qarea/rope
 def _FunctionDef(self, node):
     _ScopeVisitor._FunctionDef(self, node)
     if len(node.args.args) > 0:
         first = node.args.args[0]
         new_visitor = None
         if hasattr(ast, 'arg'):  # Py3
             if isinstance(first, ast.arg):
                 new_visitor = _ClassInitVisitor(self, first.arg)
         else:  # Py2
             if isinstance(first, ast.Name):
                 new_visitor = _ClassInitVisitor(self, first.id)
         if new_visitor is not None:
             for child in ast.get_child_nodes(node):
                 ast.walk(child, new_visitor)
コード例 #17
0
 def _FunctionDef(self, node):
     self.written.add(node.name)
     visitor = _VariableReadsAndWritesFinder()
     for child in ast.get_child_nodes(node):
         ast.walk(child, visitor)
     self.read.update(visitor.read - visitor.written)
コード例 #18
0
ファイル: outline.py プロジェクト: brucexin/bruce-s-profiles
def _get_ast_children(node):
    visitor = _ASTDefinedVisitor()
    for child in ast.get_child_nodes(node):
        ast.walk(child, visitor)
    return visitor.result
コード例 #19
0
 def _Tuple(self, node):
     if not isinstance(node.ctx, ast.Store):
         return
     for child in ast.get_child_nodes(node):
         ast.walk(child, self)
コード例 #20
0
ファイル: usefunction.py プロジェクト: climbus/rope
 def start_walking(self, node):
     nodes = [node]
     if isinstance(node, ast.FunctionDef):
         nodes = ast.get_child_nodes(node)
     for child in nodes:
         ast.walk(child, self)
コード例 #21
0
ファイル: module_imports.py プロジェクト: Marslo/VimConfig
 def _visit_child_scope(self, node):
     pyobject = self.pyobject.get_module().get_scope().\
         get_inner_scope_for_line(node.lineno).pyobject
     visitor = _LocalUnboundNameFinder(pyobject, self)
     for child in ast.get_child_nodes(node):
         ast.walk(child, visitor)
コード例 #22
0
 def _Tuple(self, node):
     if not isinstance(node.ctx, ast.Store):
         return
     for child in ast.get_child_nodes(node):
         ast.walk(child, self)
コード例 #23
0
ファイル: usefunction.py プロジェクト: 0Chuzz/python-mode
 def start_walking(self, node):
     nodes = [node]
     if isinstance(node, ast.FunctionDef):
         nodes = ast.get_child_nodes(node)
     for child in nodes:
         ast.walk(child, self)
コード例 #24
0
ファイル: notes.py プロジェクト: brucexin/bruce-s-profiles
 def _new_scope(self, node):
     visitor = _WarningsVisitor()
     for child in ast.get_child_nodes(node):
         ast.walk(child, visitor)
     self.warnings.extend(visitor.warnings)