Skip to content

Commit 7a1eeba

Browse files
authored
Merge pull request #436 from reagento/optimize-fwd-ref
Optimize FwdRef
2 parents b629515 + ffdf86b commit 7a1eeba

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/adaptix/_internal/type_tools/fwd_ref.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,15 @@
55

66

77
def _get_caller_module(stack_offset: int):
8-
return sys.modules[inspect.stack()[stack_offset].frame.f_globals["__name__"]]
8+
frame = inspect.currentframe()
9+
if frame is None:
10+
raise RuntimeError("This python implementation does not support inspect.currentframe()")
11+
12+
for _ in range(stack_offset):
13+
frame = frame.f_back
14+
if frame is None:
15+
raise RuntimeError("Unexpected end of call stack")
16+
return sys.modules[frame.f_globals["__name__"]]
917

1018

1119
class FwdRefMarker(Enum):

tests/unit/model_tools/introspection/test_namedtuple.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ def test_rename():
356356
)
357357
)
358358

359+
359360
@requires(MAX_PY_314)
360361
def test_class_hinted_namedtuple():
361362
BarA = NamedTuple("BarA", a=int, b=str)

0 commit comments

Comments
 (0)