Anonymous avatar Anonymous committed 7e128cc

scopes: using utils.cacheit for Scope.get_logical_end()

Comments (0)

Files changed (1)

rope/base/pyscopes.py

             return body[0].lineno
         return self.get_start()
 
-    _end = None
-
     def get_end(self):
         pymodule = self._get_global_scope().pyobject
         return pymodule.logical_lines.logical_line_in(self.logical_end)[1]
 
+    @utils.cacheit
     def get_logical_end(self):
-        if self._end is None:
-            global_scope = self._get_global_scope()
-            self._end = global_scope._scope_finder.find_scope_end(self)
-        return self._end
+        global_scope = self._get_global_scope()
+        return global_scope._scope_finder.find_scope_end(self)
 
     start = property(get_start)
     end = property(get_end)
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.