Lines Matching refs:self
27 def __init__(self, name):
91 def __init__(self, item, typedecl=None, **extra):
93 self.item = item
110 self.typedecl = typedecl
111 self._extra = extra
112 self._locked = True
114 self._validate()
116 def _validate(self):
117 item = self.item
118 extra = self._extra
129 def __repr__(self):
131 f'item={self.item!r}',
132 f'typedecl={self.typedecl!r}',
133 *(f'{k}={v!r}' for k, v in self._extra.items())
135 return f'{type(self).__name__}({", ".join(kwargs)})'
137 def __str__(self):
139 return self._str
141 self._str, = self.render('line')
142 return self._str
144 def __hash__(self):
145 return hash(self.item)
147 def __eq__(self, other):
149 return self.item == other.item
151 return self.item == other
153 return self.item == other
157 def __gt__(self, other):
159 return self.item > other.item
161 return self.item > other
163 return self.item > other
167 def __dir__(self):
169 names.update(self._extra)
173 def __getattr__(self, name):
178 value = getattr(self.item, name)
183 value = self._extra[name]
188 self.__dict__[name] = value
194 def __setattr__(self, name, value):
195 if self._locked and name != '_str':
199 def __delattr__(self, name):
200 if self._locked:
205 def decl(self):
206 if not isinstance(self.item, Declaration):
208 return self.item
211 def signature(self):
216 def istype(self):
217 return is_type_decl(self.item.kind)
220 def is_known(self):
221 if self.typedecl in (UNKNOWN, IGNORED):
223 elif isinstance(self.typedecl, TypeDeclaration):
226 return UNKNOWN not in self.typedecl
228 def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs):
229 self.item.fix_filename(relroot, **kwargs)
230 return self
232 def as_rowdata(self, columns=None):
234 return self.item.as_rowdata(columns)
236 def render_rowdata(self, columns=None):
238 return self.item.render_rowdata(columns)
240 def render(self, fmt='line', *, itemonly=False):
242 yield repr(self)
244 rendered = self.item.render(fmt)
245 if itemonly or not self._extra:
248 extra = self._render_extra(fmt)
264 def _render_extra(self, fmt):
266 yield str(self._extra)
284 self = cls()
286 self._add_result(info, resolved)
287 return self
289 def __init__(self, items=None):
290 self._analyzed = {type(self).build_item(item): None
293 def __repr__(self):
294 return f'{type(self).__name__}({list(self._analyzed.keys())})'
296 def __iter__(self):
297 #yield from self.types
298 #yield from self.functions
299 #yield from self.variables
300 yield from self._analyzed
302 def __len__(self):
303 return len(self._analyzed)
305 def __getitem__(self, key):
307 for i, val in enumerate(self._analyzed):
313 return self._analyzed[key]
315 def fix_filenames(self, relroot=fsutil.USE_CWD, **kwargs):
318 for item in self._analyzed:
321 def _add_result(self, info, resolved):
322 analyzed = type(self).build_item(info, resolved)
323 self._analyzed[analyzed] = None