Anonymous avatar Anonymous committed ca18941

finderrors: not checking attributes for unknowns

Comments (0)

Files changed (1)

rope/contrib/finderrors.py

 prints possible errors for ``mod.py`` file.
 
 """
-from rope.base import ast, evaluate
+from rope.base import ast, evaluate, pyobjects
 
 
 def find_errors(project, resource):
         if not isinstance(node.ctx, ast.Store):
             scope = self.scope.get_inner_scope_for_line(node.lineno)
             pyname = evaluate.eval_node(scope, node.value)
-            if pyname is not None and node.attr not in pyname.get_object():
-                self._add_error(node, 'Unresolved attribute')
+            if pyname is not None and \
+               pyname.get_object() != pyobjects.get_unknown():
+                if node.attr not in pyname.get_object():
+                    self._add_error(node, 'Unresolved attribute')
         ast.walk(node.value, self)
 
     def _add_error(self, node, msg):
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.