Commits

Anonymous committed 12800c9

All inferring functions should not raise IsBeingInferredError

Comments (0)

Files changed (2)

rope/base/oi/objectinfer.py

     return newfunc
 
 
+@_ignore_inferred
 def infer_returned_object(pyfunction, args):
     """Infer the `PyObject` this `PyFunction` returns after calling"""
     object_info = pyfunction.pycore.object_info
         return result
     return object_info.get_returned(pyfunction, args)
 
+@_ignore_inferred
 def infer_parameter_objects(pyfunction):
     """Infer the `PyObject`\s of parameters of this `PyFunction`"""
     object_info = pyfunction.pycore.object_info
     if kind == 'classmethod':
         parameters[0] = pyobject.parent
 
+@_ignore_inferred
 def infer_assigned_object(pyname):
     if not pyname.assignments:
         return

rope/base/oi/staticoi.py

-#import rope.base.oi.objectinfer
 import rope.base.ast
 from rope.base import pyobjects, evaluate
 
             rope.base.ast.walk(child, visitor)
 
 
-_ignore_inferred = rope.base.oi.objectinfer._ignore_inferred
-
 class SOIVisitor(object):
 
     def __init__(self, pycore, pydefined):
     def _ClassDef(self, node):
         pass
 
-    @_ignore_inferred
     def _Call(self, node):
         for child in rope.base.ast.get_child_nodes(node):
             rope.base.ast.walk(child, self)
         if isinstance(pyfunction, rope.base.builtins.BuiltinFunction):
             pyfunction.get_returned_object(args)
 
-    @_ignore_inferred
     def _Assign(self, node):
         for child in rope.base.ast.get_child_nodes(node):
             rope.base.ast.walk(child, self)