/usr/share/pyshared/rope/base/pynamesdef.py is in python-rope 0.9.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import rope.base.oi.soi
from rope.base import pynames
from rope.base.pynames import *
class AssignedName(pynames.AssignedName):
def __init__(self, lineno=None, module=None, pyobject=None):
self.lineno = lineno
self.module = module
self.assignments = []
self.pyobject = _Inferred(self._get_inferred,
pynames._get_concluded_data(module))
self.pyobject.set(pyobject)
@utils.prevent_recursion(lambda: None)
def _get_inferred(self):
if self.module is not None:
return rope.base.oi.soi.infer_assigned_object(self)
def get_object(self):
return self.pyobject.get()
def get_definition_location(self):
"""Returns a (module, lineno) tuple"""
if self.lineno is None and self.assignments:
self.lineno = self.assignments[0].get_lineno()
return (self.module, self.lineno)
def invalidate(self):
"""Forget the `PyObject` this `PyName` holds"""
self.pyobject.set(None)
class ParameterName(pynames.ParameterName):
def __init__(self, pyfunction, index):
self.pyfunction = pyfunction
self.index = index
def get_object(self):
result = self.pyfunction.get_parameter(self.index)
if result is None:
result = rope.base.pyobjects.get_unknown()
return result
def get_objects(self):
"""Returns the list of objects passed as this parameter"""
return rope.base.oi.soi.get_passed_objects(
self.pyfunction, self.index)
def get_definition_location(self):
return (self.pyfunction.get_module(), self.pyfunction.get_ast().lineno)
_Inferred = pynames._Inferred
|