introspection

This commit is contained in:
2026-01-20 20:24:22 +05:30
parent c910da9d14
commit 102ea4e215
26 changed files with 525 additions and 0 deletions

27
docforge/model/module.py Normal file
View File

@@ -0,0 +1,27 @@
from __future__ import annotations
from typing import Dict, Iterable, Optional
from docforge.model.object import DocObject
class Module:
"""Represents a documented Python module."""
def __init__(
self,
path: str,
docstring: Optional[str] = None,
) -> None:
self.path = path
self.docstring = docstring
self.members: Dict[str, DocObject] = {}
def add_object(self, obj: DocObject) -> None:
self.members[obj.name] = obj
def get_object(self, name: str) -> DocObject:
return self.members[name]
def get_all_objects(self) -> Iterable[DocObject]:
return self.members.values()