Lines Matching refs:self

176     def __str__(self):
177 return self.filename
179 def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs):
180 filename = _fix_filename(self.filename, relroot, **kwargs)
181 if filename == self.filename:
182 return self
183 return self._replace(filename=filename)
194 def filename(self):
195 return self.file.filename
198 def lno(self):
199 return self.file.lno
221 self = super().__new__(
227 self._compare = tuple(v or '' for v in self)
228 return self
230 def __hash__(self):
233 def __eq__(self, other):
238 return self._compare == other
240 def __gt__(self, other):
245 return self._compare > other
247 def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs):
248 filename = _fix_filename(self.filename, relroot, **kwargs)
249 if filename == self.filename:
250 return self
251 return self._replace(filename=filename)
291 def id(self):
293 return self._id
295 if self.kind is KIND.STATEMENT:
296 self._id = None
298 self._id = DeclID(str(self.file), self.funcname, self.name)
299 return self._id
302 def filename(self):
303 if not self.file:
305 return self.file.filename
308 def lno(self):
309 if not self.file:
311 return self.file.lno
314 def funcname(self):
315 if not self.parent:
317 if type(self.parent) is str:
318 return self.parent
320 return self.parent.name
322 def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs):
323 fixed = self.file.fix_filename(relroot, **kwargs)
324 if fixed == self.file:
325 return self
326 return self._replace(file=fixed)
328 def as_row(self, columns=None):
330 columns = self._fields
334 value = self.filename
336 value = self.kind.value
338 value = self._render_data()
340 value = getattr(self, column)
344 def _render_data(self):
345 if not self.data:
347 elif isinstance(self.data, str):
348 return self.data
434 self = cls(
441 self._parsed = parsed
442 return self
544 def __init__(self, file, name, data, parent=None, *,
549 self.file = file
550 self.parent = parent or None
551 self.name = name
552 self.data = data
553 self._extra = _extra or {}
554 self._shortkey = _shortkey
555 self._key = _key
557 def __repr__(self):
558 args = [f'{n}={getattr(self, n)!r}'
559 for n in ['file', 'name', 'data', 'parent', *(self._extra or ())]]
560 return f'{type(self).__name__}({", ".join(args)})'
562 def __str__(self):
564 return self._str
566 self._str = next(self.render())
567 return self._str
569 def __getattr__(self, name):
571 return self._extra[name]
575 def __hash__(self):
576 return hash(self._key)
578 def __eq__(self, other):
580 return self._key == other._key
582 return self._key == other
586 def __gt__(self, other):
588 return self._key > other._key
590 return self._key > other
595 def id(self):
596 return self.parsed.id
599 def shortkey(self):
600 return self._shortkey
603 def key(self):
604 return self._key
607 def filename(self):
608 if not self.file:
610 return self.file.filename
613 def parsed(self):
615 return self._parsed
617 parent = self.parent
620 self._parsed = ParsedItem(
621 self.file,
622 self.kind,
624 self.name,
625 self._raw_data(),
627 return self._parsed
629 def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs):
630 if self.file:
631 self.file = self.file.fix_filename(relroot, **kwargs)
632 return self
634 def as_rowdata(self, columns=None):
635 columns, datacolumns, colnames = self._parse_columns(columns)
636 return self._as_row(colnames, datacolumns, self._data_as_row)
638 def render_rowdata(self, columns=None):
639 columns, datacolumns, colnames = self._parse_columns(columns)
641 return self._render_data_row('row', data, ext, cols)
642 rowdata = self._as_row(colnames, datacolumns, data_as_row)
651 if self.parent:
652 value = f'({self.parent.kind.value} {self.parent.name})'
662 def _as_row(self, colnames, datacolumns, data_as_row):
664 data = data_as_row(self.data, self._extra, datacolumns)
670 value = self.file.filename if self.file else None
672 value = self.file.lno if self.file else None
674 value = getattr(self, column, None)
676 value = getattr(self, colname, None)
680 def render(self, fmt='line'):
687 data = self._render_data(fmt, self.data, self._extra)
690 yield from render(self, data)
870 def __str__(self):
872 if self.qualifier:
873 parts.append(self.qualifier)
874 parts.append(self.spec + (self.abstract or ''))
878 def qualifier(self):
879 return self.typequal
882 def spec(self):
883 return self.typespec
901 def _raw_data(self, data, extra):
932 def __init__(self, file, name, data, parent=None, storage=None):
949 def vartype(self):
950 return self.data
997 def __str__(self):
999 if self.inline:
1001 self.inline,
1005 str(self.returntype),
1006 self.params,
1007 ';' if self.isforward else '{}',
1012 def returns(self):
1013 return self.returntype
1031 def _raw_data(self, data):
1059 def __init__(self, file, name, data, parent=None, storage=None):
1061 self._shortkey = f'~{name}~ {self.data}'
1062 self._key = (
1064 self._shortkey,
1068 def signature(self):
1069 return self.data
1074 def __init__(self, file, name, data, parent=None, *, _shortkey=None):
1076 _shortkey = f'{self.kind.value} {name}'
1088 def __init__(self, name):
1095 def __init__(self, vartype):
1098 self.vartype = vartype
1114 def _raw_data(self, data):
1142 def __init__(self, file, name, data, parent=None):
1146 def vartype(self):
1147 return self.data
1183 def __str__(self):
1184 name = self.name if isinstance(self.name, str) else f'#{self.name}'
1185 return f'{name}: {self.vartype or self.size}'
1198 def _raw_data(self, data):
1230 def __init__(self, file, name, data, parent=None):
1234 def members(self):
1235 return self.data
1259 def _raw_data(self, data):
1286 def __init__(self, file, name, data, parent=None):
1290 def enumerators(self):
1291 return self.data
1305 def _raw_data(self, data):
1315 def _parse_data(self, datastr, fmt=None):
1319 def __init__(self, file, name, data, parent=None):
1330 def text(self):
1331 return self.data
1436 def __init__(self, decls):
1445 self._decls = decls
1447 self._decls = {}
1448 self._extend(decls)
1452 def validate(self):
1453 for key, decl in self._decls.items():
1467 def __repr__(self):
1468 return f'{type(self).__name__}({list(self)})'
1470 def __len__(self):
1471 return len(self._decls)
1473 def __iter__(self):
1474 yield from self._decls
1476 def __getitem__(self, key):
1480 resolved, extra = self._resolve_key(key)
1486 return self._decls[resolved]
1502 def types(self):
1503 return self._find(kind=KIND.TYPES)
1506 def functions(self):
1507 return self._find(None, None, None, KIND.FUNCTION)
1510 def variables(self):
1511 return self._find(None, None, None, KIND.VARIABLE)
1513 def iter_all(self):
1514 yield from self._decls.values()
1516 def get(self, key, default=None):
1518 return self[key]
1522 #def add_decl(self, decl, key=None):
1524 # self._add_decl(decl, key)
1526 def find(self, *key, **explicit):
1529 return iter(self)
1530 return self._find(**explicit)
1532 resolved, extra = self._resolve_key(key)
1550 return self._find(**implicit, **explicit)
1552 def _find(self, filename=None, funcname=None, name=None, kind=None):
1553 for decl in self._decls.values():
1569 def _add_decl(self, decl, key=None):
1575 resolved, _ = self._resolve_key(key)
1581 key, _ = self._resolve_key(decl)
1582 self._decls[key] = decl
1584 def _extend(self, decls):
1589 self._add_decl(decl)
1592 self._add_decl(decl)
1602 self._add_decl(decl, key)
1605 self._add_decl(decl, key)