introspection
This commit is contained in:
31
docforge/model/object.py
Normal file
31
docforge/model/object.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Dict, Iterable, Optional
|
||||
|
||||
|
||||
class DocObject:
|
||||
"""Represents a documented Python object."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
name: str,
|
||||
kind: str,
|
||||
path: str,
|
||||
signature: Optional[str] = None,
|
||||
docstring: Optional[str] = None,
|
||||
) -> None:
|
||||
self.name = name
|
||||
self.kind = kind
|
||||
self.path = path
|
||||
self.signature = signature
|
||||
self.docstring = docstring
|
||||
self.members: Dict[str, DocObject] = {}
|
||||
|
||||
def add_member(self, obj: DocObject) -> None:
|
||||
self.members[obj.name] = obj
|
||||
|
||||
def get_member(self, name: str) -> DocObject:
|
||||
return self.members[name]
|
||||
|
||||
def get_all_members(self) -> Iterable[DocObject]:
|
||||
return self.members.values()
|
||||
Reference in New Issue
Block a user